다운로드 링크를 다른곳에서 사용하기 > 그누4 팁자료실

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.

다운로드 링크를 다른곳에서 사용하기 정보

다운로드 링크를 다른곳에서 사용하기

본문

보안이슈로 첨부파일을 직접 링크는 불가능합니다.
관리자일때 링크주소를 추출해서 필요한 곳에 사용하실수 있도록 로직을 구현했습니다.


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 "&nbsp;&nbsp;<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 "&nbsp;<span style=\"color:#888;\">{$view[file][$i][source]} ({$view[file][$i][size]})</span>";
        echo "&nbsp;<span style=\"color:#ff6600; font-size:11px;\">[{$view[file][$i][download]}]</span>";
        echo "&nbsp;<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 "&nbsp;&nbsp;<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 "&nbsp;<span style=\"color:#888;\">{$view[file][$i][source]} ({$view[file][$i][size]})</span>";
        echo "&nbsp;<span style=\"color:#ff6600; font-size:11px;\">[{$view[file][$i][download]}]</span>";
        echo "&nbsp;<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
  • 복사

댓글 4개

© SIRSOFT
현재 페이지 제일 처음으로