다운로드 링크를 다른곳에서 사용하기
보안이슈로 첨부파일을 직접 링크는 불가능합니다.
관리자일때 링크주소를 추출해서 필요한 곳에 사용하실수 있도록 로직을 구현했습니다.
1. bbs/download.php 를 download2.php 로 복사해서 업로드합니다.
download2.php 의 내용중에서 아래 2곳을 아래와 같이 변경합니다.
[원본] 7~8 라인
if (!get_session("ss_view_{$bo_table}_{$wr_id}"))
alert("잘못된 접근입니다.");
[수정]
//if (!get_session("ss_view_{$bo_table}_{$wr_id}"))
// alert("잘못된 접근입니다.");
[원본] 16~22 라인
if ($member[mb_level] < $board[bo_download_level]) {
$alert_msg = "다운로드 권한이 없습니다.";
if ($member[mb_id])
alert($alert_msg);
else
alert($alert_msg . "\\n\\n회원이시라면 로그인 후 이용해 보십시오.", "./login.php?wr_id=$wr_id&$qstr&url=".urlencode("$g4[bbs_path]/board.php?bo_table=$bo_table&wr_id=$wr_id"));
}
[수정]
/*if ($member[mb_level] < $board[bo_download_level]) {
$alert_msg = "다운로드 권한이 없습니다.";
if ($member[mb_id])
alert($alert_msg);
else
alert($alert_msg . "\\n\\n회원이시라면 로그인 후 이용해 보십시오.", "./login.php?wr_id=$wr_id&$qstr&url=".urlencode("$g4[bbs_path]/board.php?bo_table=$bo_table&wr_id=$wr_id"));
}*/
2. 사용하는 board 스킨의 view.skin.php 의 아래의 내용을 수정합니다.
[원본]
// 가변 파일
$cnt = 0;
for ($i=0; $i<count($view[file]); $i++) {
if ($view[file][$i][source] && !$view[file][$i][view]) {
$cnt++;
echo "<tr><td height=30 background=\"$board_skin_path/img/view_dot.gif\">";
echo " <img src='{$board_skin_path}/img/icon_file.gif' align=absmiddle border='0'>";
echo "<a href=\"javascript:file_download('{$view[file][$i][href]}', '{$view[file][$i][source]}');\" title='{$view[file][$i][content]}'>";
echo " <span style=\"color:#888;\">{$view[file][$i][source]} ({$view[file][$i][size]})</span>";
echo " <span style=\"color:#ff6600; font-size:11px;\">[{$view[file][$i][download]}]</span>";
echo " <span style=\"color:#d3d3d3; font-size:11px;\">DATE : {$view[file][$i][datetime]}</span>";
echo "</a></td></tr>";
}
}
[수정]
// 가변 파일
$cnt = 0;
for ($i=0; $i<count($view[file]); $i++) {
if ($view[file][$i][source] && !$view[file][$i][view]) {
$cnt++;
echo "<tr><td height=30 background=\"$board_skin_path/img/view_dot.gif\">";
echo " <img src='{$board_skin_path}/img/icon_file.gif' align=absmiddle border='0'>";
echo "<a href=\"javascript:file_download('{$view[file][$i][href]}', '{$view[file][$i][source]}');\" title='{$view[file][$i][content]}'>";
echo " <span style=\"color:#888;\">{$view[file][$i][source]} ({$view[file][$i][size]})</span>";
echo " <span style=\"color:#ff6600; font-size:11px;\">[{$view[file][$i][download]}]</span>";
echo " <span style=\"color:#d3d3d3; font-size:11px;\">DATE : {$view[file][$i][datetime]}</span>";
//echo "</a></td></tr>";
echo "</a>";
if($member[mb_level] >= 10) { // 권한체크
echo "<br />http://홈페이지주소/gnuboard/bbs/download2.php?bo_table={$bo_table}&wr_id={$wr_id}&no={$i}";
}
echo "</td></tr>";
}
}
이렇게 하면 첨부파일에 파일을 직접 다운받을수 있는 링크가 추가로 보이게 되고,
그 링크를 복사해서 원하는 곳에 붙여넣으면 해당 첨부파일을 직접 다운받을수 있게 됩니다.
관리자일때 링크주소를 추출해서 필요한 곳에 사용하실수 있도록 로직을 구현했습니다.
1. bbs/download.php 를 download2.php 로 복사해서 업로드합니다.
download2.php 의 내용중에서 아래 2곳을 아래와 같이 변경합니다.
[원본] 7~8 라인
if (!get_session("ss_view_{$bo_table}_{$wr_id}"))
alert("잘못된 접근입니다.");
[수정]
//if (!get_session("ss_view_{$bo_table}_{$wr_id}"))
// alert("잘못된 접근입니다.");
[원본] 16~22 라인
if ($member[mb_level] < $board[bo_download_level]) {
$alert_msg = "다운로드 권한이 없습니다.";
if ($member[mb_id])
alert($alert_msg);
else
alert($alert_msg . "\\n\\n회원이시라면 로그인 후 이용해 보십시오.", "./login.php?wr_id=$wr_id&$qstr&url=".urlencode("$g4[bbs_path]/board.php?bo_table=$bo_table&wr_id=$wr_id"));
}
[수정]
/*if ($member[mb_level] < $board[bo_download_level]) {
$alert_msg = "다운로드 권한이 없습니다.";
if ($member[mb_id])
alert($alert_msg);
else
alert($alert_msg . "\\n\\n회원이시라면 로그인 후 이용해 보십시오.", "./login.php?wr_id=$wr_id&$qstr&url=".urlencode("$g4[bbs_path]/board.php?bo_table=$bo_table&wr_id=$wr_id"));
}*/
2. 사용하는 board 스킨의 view.skin.php 의 아래의 내용을 수정합니다.
[원본]
// 가변 파일
$cnt = 0;
for ($i=0; $i<count($view[file]); $i++) {
if ($view[file][$i][source] && !$view[file][$i][view]) {
$cnt++;
echo "<tr><td height=30 background=\"$board_skin_path/img/view_dot.gif\">";
echo " <img src='{$board_skin_path}/img/icon_file.gif' align=absmiddle border='0'>";
echo "<a href=\"javascript:file_download('{$view[file][$i][href]}', '{$view[file][$i][source]}');\" title='{$view[file][$i][content]}'>";
echo " <span style=\"color:#888;\">{$view[file][$i][source]} ({$view[file][$i][size]})</span>";
echo " <span style=\"color:#ff6600; font-size:11px;\">[{$view[file][$i][download]}]</span>";
echo " <span style=\"color:#d3d3d3; font-size:11px;\">DATE : {$view[file][$i][datetime]}</span>";
echo "</a></td></tr>";
}
}
[수정]
// 가변 파일
$cnt = 0;
for ($i=0; $i<count($view[file]); $i++) {
if ($view[file][$i][source] && !$view[file][$i][view]) {
$cnt++;
echo "<tr><td height=30 background=\"$board_skin_path/img/view_dot.gif\">";
echo " <img src='{$board_skin_path}/img/icon_file.gif' align=absmiddle border='0'>";
echo "<a href=\"javascript:file_download('{$view[file][$i][href]}', '{$view[file][$i][source]}');\" title='{$view[file][$i][content]}'>";
echo " <span style=\"color:#888;\">{$view[file][$i][source]} ({$view[file][$i][size]})</span>";
echo " <span style=\"color:#ff6600; font-size:11px;\">[{$view[file][$i][download]}]</span>";
echo " <span style=\"color:#d3d3d3; font-size:11px;\">DATE : {$view[file][$i][datetime]}</span>";
//echo "</a></td></tr>";
echo "</a>";
if($member[mb_level] >= 10) { // 권한체크
echo "<br />http://홈페이지주소/gnuboard/bbs/download2.php?bo_table={$bo_table}&wr_id={$wr_id}&no={$i}";
}
echo "</td></tr>";
}
}
이렇게 하면 첨부파일에 파일을 직접 다운받을수 있는 링크가 추가로 보이게 되고,
그 링크를 복사해서 원하는 곳에 붙여넣으면 해당 첨부파일을 직접 다운받을수 있게 됩니다.
댓글 4개
후라보노보노
13년 전
좋은 팁 감사합니다 ^^
유용하게 사용할것 같아요.... ㅎ
유용하게 사용할것 같아요.... ㅎ
13년 전
아 감사합니다.
필요한 분들에게는 귀중한 팁 같습니다.
추천합니다..
필요한 분들에게는 귀중한 팁 같습니다.
추천합니다..
13년 전
쇼핑몰링크다운
13년 전
검토서류를 페북이나 트위터로 보낼때
게시판 목록
그누4 팁자료실
그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.
나누면 즐거움이 커집니다.
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 3169 | 12년 전 | 11447 | ||
| 3168 | 12년 전 | 8361 | ||
| 3167 | 12년 전 | 9518 | ||
| 3166 | 12년 전 | 8616 | ||
| 3165 | 12년 전 | 3849 | ||
| 3164 | 12년 전 | 5777 | ||
| 3163 | 12년 전 | 5483 | ||
| 3162 | 12년 전 | 7510 | ||
| 3161 |
다케미카코
|
12년 전 | 5655 | |
| 3160 | 12년 전 | 5978 | ||
| 3159 | 12년 전 | 5819 | ||
| 3158 | 12년 전 | 4210 | ||
| 3157 |
izabella
|
12년 전 | 8329 | |
| 3156 | 12년 전 | 6297 | ||
| 3155 | 12년 전 | 3780 | ||
| 3154 | 12년 전 | 8913 | ||
| 3153 | 12년 전 | 3591 | ||
| 3152 |
다케미카코
|
12년 전 | 6557 | |
| 3151 | 12년 전 | 5426 | ||
| 3150 |
|
12년 전 | 4800 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기