게시판 링크파일 다운로드 권한 설정방법? > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

게시판 링크파일 다운로드 권한 설정방법? 정보

게시판 링크파일 다운로드 권한 설정방법?

본문

게시판에 파일을 링크를 사용해서 등록했습니다.
그런데 링크된 파일은 회원 레벨에 관계없이 다운로드가 됩니다.
이를 일정 회원레벨 이상만이 다운로드 할 수 있도록 게시판을 수정하고 싶습니다.
왜냐하면 업로드할 파일의 크기가 서버에서 지정된 최대 크기보다 커서 파일업로드를 할 수 없습니다.
그렇다고 서버를 수정할수도 없습니다. 호스팅을 받는 입장이라...
어떻게 해야 하는지요....
예)
링크된 aa.exe파일을 회원레벨 2는 다운로드 불가, 레벨3 이상은 다운로드 가능...글 읽기는 모든회원이 가능...이렇게요...
고수님의 도움 부탁드립니다.
 
  • 복사

댓글 전체

<? if ($member[mb_level] >= 3){?>
<script language="JavaScript">
function file_download(link, file) {
    <? if ($board[bo_download_point] < 0) { ?>if (confirm("파일을 다운받은상태에서 다른사람에게 공개하시며 .\n\n저작권 침해가 발생합니다..\n\n 좋은 정보를 제공하도록 하겠습니다."))<?}?>
    document.location.href=link;
}


</script>

<?}?>
<? if ($member[mb_level] >= 5){?>
<script language="JavaScript">
function file_download(link, file) {
    <? if ($board[bo_download_point] < 0) { ?>if (confirm("파일을 다운받은상태에서 다른사람에게 공개하시며 .\n\n저작권 침해가 발생합니다..\n\n 좋은 정보를 제공하도록 하겠습니다."))<?}?>
    document.location.href=link;
}


</script>

<?}
else{?>
<script language="JavaScript">
function file_download(link, file) {
  $msg = "유료회원에게만 제공합니다.\n\n 로그인후 이용해주세요 ";
  alert($msg, "./board.php?bo_table=$bo_table");
}


</script>

<?}

?>
감사합니다.
위 내용을 "view.skin.php"파일의 맨 아래줄에 복사했습니다.
그리고 게시판에서 링크파일을 다운로드하니까 그냥 다운로드가 됩니다.
그러나, 업로드한 파일은 레벨5 이상만 다운로드가 되며, 그 이하 레벨에서는 다운로드가 않되며 "유료회원...." 메세지가 나옵니다.
저는 링크1에서 링크한 파일을 회원레벨에 따라 다운로드를 제한하고 싶습니다.
현재 링크1의 링크내용은 이미지 처리를 해서 보이지 않게 했습니다.
=====================================================================================
// 링크
$cnt = 0;
for ($i=1; $i<=$g4[link_count]; $i++) 
{
    if ($view[link][$i])
    {
  $cnt++;
        $link = cut_str($view[link][$i], 70);
        echo "<tr><td height=22 valign='middle'>  <img src='{$board_skin_path}/img/icon_link.gif' align=absmiddle>  <a href='{$view[link_href][$i]}' target=_blank><img src='/img/b_link_1.gif' border='0' align=absmiddle>&nbsp;&nbsp;<font color='#660000'><b>$i</b></font>&nbsp;&nbsp;<img src='/img/b_link_2.gif' border='0' align=absmiddle>&nbsp;&nbsp;&nbsp;Down : {$view[link_hit][$i]}</a></td></tr>";

    }
}
?>
=====================================================================================

여기서 링크된 파일을 다운로드 권한을 주려면 어떻게해야 하는지요?
제일 간단한 방법은 '일정권한'이 안되면 링크파일 자체를 볼수없도록 하는것도 괜찮치 않나 싶군요.
우선 관리자모드에서 '링크권한'을 알맞게 설정해주고,
view.skin.php 라인(74~) '링크'관련 부분에 아래처럼 하면 해당권한 이하인 경우 표시않하기.

- 만약 파일다운로드처럼 경고창 메세지 띄우는 방식으로 하려면,
- 링크부분을 '이미지값'으로 처리하고, else 문속에 위의 echo 부분을 옮겨다가 경로만 삭제하고 대신 'alert'값만 처리하면 될듯하군요.


수정전
--------------------------------

// 링크
$cnt = 0;
for ($i=1; $i<=$g4[link_count]; $i++) {
    if ($view[link][$i]) {
        $cnt++;
        $link = cut_str($view[link][$i], 70);
        echo "<tr><td height=22>&nbsp;&nbsp;<img src='{$board_skin_path}/img/icon_link.gif' align=absmiddle> <a href='{$view[link_href][$i]}' target=_blank><strong>{$link}</strong> ({$view[link_hit][$i]})</a></td></tr>";
    }
}



수정후
--------------------------------

// 링크
$cnt = 0;
for ($i=1; $i<=$g4[link_count]; $i++) {
    if ($view[link][$i]) {
        $cnt++;
        $link = cut_str($view[link][$i], 70);

if($member[mb_level] > 4) {
        echo "<tr><td height=22>&nbsp;&nbsp;<img src='{$board_skin_path}/img/icon_link.gif' align=absmiddle> <a href='{$view[link_href][$i]}' target=_blank><strong>{$link}</strong> ({$view[link_hit][$i]})</a></td></tr>";
}else{}
    }
}
두번째 방법 : 링크표시를 이미지와 경고창을 이용하여 수정처리.


수정전
--------------------------------

// 링크
$cnt = 0;
for ($i=1; $i<=$g4[link_count]; $i++) {
    if ($view[link][$i]) {
        $cnt++;
        $link = cut_str($view[link][$i], 70);
        echo "<tr><td height=22>&nbsp;&nbsp;<img src='{$board_skin_path}/img/icon_link.gif' align=absmiddle> <a href='{$view[link_href][$i]}' target=_blank><strong>{$link}</strong> ({$view[link_hit][$i]})</a></td></tr>";
    }
}


수정후
--------------------------------

// 링크
$cnt = 0;
for ($i=1; $i<=$g4[link_count]; $i++) {
    if ($view[link][$i]) {
        $cnt++;
        $link = cut_str($view[link][$i], 70);

if($member[mb_level] > 4) {
        echo "<tr><td height=22>&nbsp;&nbsp;<img src='{$board_skin_path}/img/icon_link.gif' align=absmiddle> <a href='{$view[link_href][$i]}' target=_blank>링크표시이미지({$view[link_hit][$i]})</a></td></tr>";
}else{
echo "<tr><td height=22>&nbsp;&nbsp;<img src='{$board_skin_path}/img/icon_link.gif' align=absmiddle> <a href='' javascript:'alert('이용권한이 없습니다')'>링크표시이미지 ({$view[link_hit][$i]})</a></td></tr>";

}
    }
}
감사합니다.
해결 됐습니다.
그런데 지정레벨 이하인 회원이 링크버튼을 클릭하면 alert메세지가 않나오고..

Forbidden
You don't have permission to access /bbs/ on this server.
이런 화면으로 바뀝니다.

그래서,
<a href='' javascript:'alert('이용권한이 없습니다')'> 이부분을
<a href=\"javascript:alert('다운로드 권한이 없습니다');\">로 수정하니까 됩니다.
감사합니다.

그런데,,,,링크파일을 다운로드 할 때 새창이 뜨면서 파일을 다운로드 하게 돼있는데요...
다운로드와 같이 새창이 않뜨고 그냥 다운로드 박스만 뜨게 할 수는 없나요?
© SIRSOFT
현재 페이지 제일 처음으로