제로보드4는 공식적으로 더 이상 개발되지도 배포되지도 않습니다.
제로보드4를 사용하기 위한 팁보다 제로보드4를 안전하고 무사히 다른 툴로 이전하는 팁들을 게재해주시면 감사하겠습니다.
시간이 오래 지난 만큼 오래된 프로그램은 보안 및 사용성에 있어 문제가 많으니 이해 바랍니다.

./files/attach/images/138/850384/dw.jpg
게시판마다 다운로드 권한을 설정할수 있게 합나다.
다운로드권한이 없으면 링크는 안됩니다.
글 작성자는 다운로드권한이 없어도 다운로드 가능합니다

수정할 파일은 3개 입니다.
admin/admin_exce_board.php
admin/admin_modify_grant.php
include/list_check.php


---------------------------------------------
admin_exce_board.php  

수정전

// 권한 설정
elseif($exec2=="modify_grant_ok") {
@mysql_query("update $admin_table set grant_html='$grant_html', grant_list='$grant_list',
grant_view='$grant_view', grant_comment='$grant_comment', grant_write='$grant_write',
grant_reply='$grant_reply', grant_delete='$grant_delete', grant_notice='$grant_notice',
grant_view_secret='$grant_view_secret', use_showip = '$grant_imagebox' where no='$no'+ '+ '") or

Error("권한 설정 변경시 에러가 발생하였습니다".mysql_error());
-----------------------------------------------
수정후

// 권한 설정
elseif($exec2=="modify_grant_ok") {
@mysql_query("update $admin_table set grant_html='$grant_html', grant_list='$grant_list',
grant_download='$grant_download',
grant_view='$grant_view', grant_comment='$grant_comment', grant_write='$grant_write',
grant_reply='$grant_reply', grant_delete='$grant_delete', grant_notice='$grant_notice',
grant_view_secret='$grant_view_secret', use_showip = '$grant_imagebox' where no='+ '$no'+ '") or

Error("권한 설정 변경시 에러가 발생하였습니다".mysql_error());
------------------------------------------------

admin_modify_grant.php  

수정전

     댓글 달기 권한을 레벨별로 지정합니다.
  </td>
</tr>

<tr height=25 bgcolor=#e0e0e0>
  <td  align=right style=font-family:Tahoma;font-size:8pt;font-weight:bold;><b>삭제 권한

 </td>
-----------------------------------------------

수정후

     댓글 달기 권한을 레벨별로 지정합니다.
  </td>
</tr>

<!------추가부분---------->
<tr height=25 bgcolor=#e0e0e0>
  <td  align=right style=font-family:Tahoma;font-size:8pt;font-weight:bold;><b>다운로드 권한

 </td>
  <td >  
     <select name=grant_download class=input>
<?
  for($i=1;$i<=10;$i++)
  if($i==$board_data[grant_download]) echo"<option value=$i selected>$i</option>";
  else echo"<option value=$i>$i</option>";
?>
     </select>   
     다운로드 권한을 레벨별로 지정합니다.
  </td>
</tr>
<!------여기까지---------->

<tr height=25 bgcolor=#e0e0e0>
  <td  align=right style=font-family:Tahoma;font-size:8pt;font-weight:bold;><b>삭제 권한

 </td>
-------------------------------------------------------
list_check.php

수정전

                if($file_name1) {
                        $file_size1=@GetFileSize(filesize($data[file_name1]));
                        $a_file_link1="<a href='download.php?$href$sort&no=$data[no]

&filenum=1'>";
                } else {
                        $file_size1=0;
                        $a_file_link1="<Zeroboard";
                }
                if($file_name2) {
                        $file_size2=@GetFileSize(filesize($data[file_name2]));
                        $a_file_link2="<a href='download.php?$href$sort&no=$data[no]

&filenum=2'>";
                } else {
                        $file_size2=0;
                        $a_file_link2="<Zeroboard";
                }
  
                $upload_image1=$upload_image2="";
-----------------------------------------------

수정후

        $file_size1=@GetFileSize(filesize($data[file_name1]));
        $file_size2=@GetFileSize(filesize($data[file_name2]));
            if($file_name1&&($is_admin||$member[level]<=$setup[grant_download]||$data

[ismember]==$member[no])) {
                        $a_file_link1="<a href='download.php?$href$sort&no=$data[no]

&filenum=1'>";
                } else {$a_file_link1="";}
                if($file_name2&&($is_admin||$member[level]<=$setup[grant_download]||$data

[ismember]==$member[no])) {
                        
                        $a_file_link2="<a href='download.php?$href$sort&no=$data[no]

&filenum=2'>";
                } else {$a_file_link2="";}
  
                $upload_image1=$upload_image2="";

------------------------------------------------
down.php

<?
$file=file("../config.php");
$size=sizeof($file);

for($i=1;$i<=4;$i++){$file[$i]=trim(str_replace("n","",$file[$i]));}

$conn=mysql_connect($file[1], $file[2], $file[3]);  //mysql접속
$mysql=mysql_select_db($file[4], $conn);  //db선택

$query="alter table zetyx_admin_table add (grant_download int(2) not null default '10')";
$da=mysql_query($query, $conn);
if($da){echo "<p align=center>다운로드 필드 추가 성공<br><br><a href='../admin_setup.php'>

관리자페이지로 이동</a>";}
else{echo "<p align=center>다운로드 필드 추가 실패";}
?>
-------------------------------------------------
down.php는 필드를 추가하는 파일입니다. 다운로드 권한설정 필드가 필요하기때문에.
필드추가 완료되면 이 파일은 쓸모가 없는 파일입니다.

down.php파일을 admin폴더에 넣고 웹에서 실행하세요.

예: http://127.0.0.1/bbs/admin/down.php

======================================================================================
편법을 이용한 다운로드를 막기 위해 스킨폴더의  view.php 파일도 조금 수정합니다.

수정전
<?=$hide_download1_start?><font class=list_eng>-
<b>Download #1</b> : <?=$a_file_link1?><?=$file_name1?> (<?=$file_size1?>)</a>, Download : <?=$file_download1?></font><br><?=$upload_image1?><?=$hide_download1_end?>
                                <?=$hide_download2_start?><font class=list_eng>- <b>Download #2</b> : <?=$a_file_link2?><?=$file_name2?> (<?=$file_size2?>)</a>, Download : <?=$file_download2?></font><br><?=$upload_image2?><?=$hide_download2_end?>

수정후
<?=$hide_download1_start?><font class=list_eng>-
<?=$a_file_link1?><b> 다운로드1 </b>(<?=$file_size1?>)</a>, Download : <?=$file_download1?></font><br><?=$upload_image1?><?=$hide_download1_end?>
                                <?=$hide_download2_start?><font class=list_eng>-
<?=$a_file_link2?><b> 다운로드2  </b>(<?=$file_size2?>)</a>, Download : <?=$file_download2?></font><br><?=$upload_image2?><?=$hide_download2_end?>


[레벨:6]꺾쇠

2005.04.18 19:36:56
*.97.122.150

저는 필드를 에러없이 추가했는데, 1레벨만 다운가능토록 했는데, 9레벨도 다운이 가능하네요.

다른 분들은 성공하셨나요?

[레벨:2]서준석

2005.04.18 19:45:23
*.39.114.168

저는 잘 됬습니다^^ 8레벨로 설정하니 9레벨 회원은 링크가 안걸리더군요. 그리고 8레벨 회원은

자료가 아주 잘 받아졌습니다.

[레벨:6]꺾쇠

2005.04.18 19:46:44
*.97.122.150

아마도 제가 사용하는 DQ_.. 스킨이 자료실을 sitelink2 와 결합되어 잘 안되는 것 같습니다.
어떻게 수정해야 하는지 알려 주시면 감사하겠습니다.

[레벨:11]대류

2005.04.18 23:23:30
*.244.130.86

파일명만 알면 제로보드의 고유경로를 이용하여 다운로드 할 수 있지 않을까요?

[레벨:20]영진

2005.04.18 23:29:53
*.9.51.6

그렇습니다. 마치 마우스오른쪽버튼 사용금지 하는것처럼...

[레벨:2]見怡

2005.04.18 23:55:32
*.110.114.155

영진, 대류//

그것의 대처 방안이
다운로드 링크가 걸리는 곳을 파일 이름을 나오지 않게
획일적으로 '다운로드'라는 이름으로 바꿔 버리는 겁니다.

예를 들어 보통은 "$[파일네임변수] ( down : $[다운로드횟수변수] )"
뭐 이런 식의 글자에 하이퍼 링크가 걸려 있는데요.
여기서 filename 변수를 지워버리고 '다운로드 ( down : $[다운로드횟수변수] )"
이렇게 고쳐버린다는 거지요.

그리고 덤으로
파일 업로드시 무조건 적으로 파일네임을 랜덤하게 변하게 해주는 소스를 걸어준다면
경로 다운은 할 수 없습니다.

[레벨:20]영진

2005.04.19 00:20:52
*.9.51.6

파일이름이 안보인다면 이 팁은 아무런 의미도 없어요.

[레벨:2]見怡

2005.04.19 00:51:26
*.110.114.155

파일 이름을 안 보이게 하는 것이 아니라
그냥 임시로 감추는 것 뿐인데...

꼭 파일 이름에 링크를 걸어야 되는 이유라도 있는 건가요?;;

영진님 말씀은
"게시판마다 다운로드 권한을 설정할수 있게 합니다.
다운로드권한이 없어도 파일이름은 출력되고 링크만 안됩니다.
글 작성자는 다운로드권한이 없어도 다운로드 가능합니다"

이 명제인데...

이걸
"게시판마다 다운로드 권한을 설정할수 있게 합니다.
다운로드권한이 없어도 다운로드 글씨만 출력되고 링크는 걸려있지 않습니다.
글 작성자는 다운로드권한이 없어도 다운로드 가능합니다."

이렇게 바꾸면
만사 오케이 아닌가요?

제가 어디 간과한 부분이 있는건지... 쩝;;

[레벨:6]LEiTi

2005.04.19 03:54:29
*.58.34.16

그거야... 외부접근을 차단하면 되겠지요..-_-;

[레벨:20]영진

2005.04.19 08:12:50
*.9.48.212

見怡 // 님의 말씀에 일리가 있습니다.

그래서 스킨폴더의 view.php 를 수정하게 했어요.


[레벨:2]중열™

2005.04.20 12:08:27
*.38.20.238

쪽지 확인 부탁드립니다.
감사합니다.

[레벨:2]중열™

2005.04.19 22:02:37
*.38.20.238

첨부 파일이 10개인 경우는 어떻게 수정하는지 알려주세요.
꼭 필요해서요.

[레벨:1]짱돌

2005.04.23 16:33:22
*.44.67.235

오홋 잘 됩니다.
굿!!

[레벨:20]영진

2005.04.20 08:28:54
*.9.51.133

수정하기 힘드시면 이 3개파일을 압축하여 보내주세요.


admin/admin_exce_board.php
admin/admin_modify_grant.php
include/list_check.php

[레벨:1]짱돌

2005.04.23 16:07:40
*.44.67.235

훌룡한 팁이라 추천누릅니다.
적용해보고 결과 보고하겠습니다.
^^

[레벨:1]문재웅

2005.08.14 12:11:43
*.250.123.166

레포트 제출용으로 만들려고 이래저래하다가 여기까지 온거같네요
글읽기 설정을 관리자 또는 글쓴이로 정해놓았는데
그렇게하니 다운로드가 안되서 여기까지 왔는데
다른건 다필요없고 list_check.php만 수정해도 다운로드 링크가 걸리긴하는데요
다운로드 링크는 되지만 다운로드는 되지 않네요
사용권한이 없데요 -_-;;
사용권한은 어디서 없애야하는지...ㅠ.ㅠ

[레벨:5]ㄹサㄴトペㅔØı

2005.09.22 19:54:11
*.255.70.241

다른님들 list_check.php가 있나요? 난 왜 없지;;
bbs안에도 없고 skin안에도 없는뎅;; admin폴더에도.....
list_check.php 어디에 있어요? 못찾아서 수정을 못하구 있어염;ㅠ

[레벨:2]Jenny

2005.11.07 21:09:10
*.156.18.93

list_check은 include폴더안에 있습니다.

[레벨:2]박성호

2005.11.08 03:33:55
*.50.45.112

이 팁대로 하면 그림파일은 본문에 출력되는 그림을 클릭해서 저장할 수 가 있군요.

[레벨:2]데보라

2005.12.14 17:38:54
*.125.88.102

님께서 말씀하신 세가지 파일을 수정했습니다. 그리고 업로드했구요.

그래서 관리자 페이지에 가서 권한을 바꿀려고 하니 아래와 같은 메세지가 뜹니다.

"권한 설정 변경시 에러가 발생하였습니다Unknown 칼럼 '+ '+ 'grant_download' in 'field list' "

제가 어떤 부분을 잘못한건지 궁금합니다.

그리고 down.php파일을 만들어서 rft상으로 admin에 업로드 해주어란 말인지.웹에서 실행시킨다는 말이 이해가 안됩니다.
좀 알려주세요! 부탁드립니다.

[레벨:2]v^^v

2006.06.06 04:10:57
*.60.183.23

//데보라
필드에러가 나는 이유는 down.php이름으로 파일을 만들어 admin에 넣고,아니면 admin에서 작성하고..;
웹에서 절대경로 http://...down.php실행하면 필드가 자동으로 추가됩니다.
필드가 추가된것을 보려면 phpmyadmin..? 에서 _admin_table 에서 확인하시면 되요.
말씀 드렸듯이 위 에러는 'grant_download' 필드가 없어 생기는 에러에요.
필드가 생성되면 제로보드 관리자모드에서 권한설정을 변경해도 잘 작동되죠

[레벨:2]v^^v

2006.06.06 04:14:07
*.60.183.23

그리고 꺾쇠님은
list_check.php 부분을 다시 수정해 보세요..

뒷북인가요? ^^
좋은자료 고마워요~

[레벨:1]함수희

2007.05.04 18:44:06
*.99.69.253

정말 필요한 팁이었는데 너무 감사합니다.
근데, 전 대류님의 자료실 스킨을 사용하는데...
이 스킨은 목록에도 첨부파일의 아이콘이 뜨면서 이 아이콘을 누르면 파일다운로드가 되는거거든요..
그래서 목록에서 다운로드가 되버리니 난감하네요...
이 문제는 해결이 안될까요? 대류님꼐 여뿨봐야하는걸까요?
암튼 정~ 안되면, 목록의 첨부파일 아이콘을 지워야 겠네요.
List of Articles
번호 제목 글쓴이 날짜 조회 수
3629 일본어 제로보드 41pl2 의 글쓰기,덧글에서 5c문자 관련 문자 깨짐 해소책 [3] [레벨:1]공건두 2005-04-18 2800
» 관리자페이지에서 파일다운로드 권한설정하기 file [23] [레벨:20]영진 2005-04-18 6373
3627 비밀글은 리스트의 제목에 링크를 없애자.(작성자와 관리자는 나오게) [5] [레벨:9]헐랭이 2005-04-18 5167
3626 최근게시물에 [more], [write] 버튼 나타내기 file [1] [레벨:6]꺾쇠 2005-04-17 3215
3625 최근게시물에서 비밀글도 출력하자 (비밀글은 링크없애기) [22] [레벨:9]헐랭이 2005-04-17 5630
3624 글보기에서 랜덤회원소개, 회원등급, 인사말보기, 클릭하면 회원정보 새창으... [1] [레벨:4]김형석 2005-04-17 3586
3623 화면 해상도 보다 큰 이미지 나타내기 (리사이즈 아님) [7] [레벨:1]이창욱 2005-04-16 5115
3622 비회원 글 수정시 비밀번호 먼저 묻기 .... 0.2 [9] [레벨:8]아이쿠 2005-04-16 3184
3621 비밀글 리플 관련 및 아래 비밀답글 관련 문제 추가.... [3] [레벨:8]아이쿠 2005-04-16 7899
3620 비밀글일때 (답글에서) 보안버그 문제의 임시조치 [7] [레벨:9]헐랭이 2005-04-16 8908
3619 기존회원과 신규회원은 특정게시판에 무조건 글하나 남기게 하기 [9] [레벨:9]헐랭이 2005-04-15 10806
3618 글작성후 24시간 전에는 삭제를 못하게 막기 [15] [레벨:9]헐랭이 2005-04-15 4865
3617 코멘트에 잘가져 간다는 인사글 안쓰면 다운로드 못하게 막기^^ [30] [레벨:9]헐랭이 2005-04-14 5932
3616 내 홈페이지에 카운터를 달기 [11] [레벨:1]엘쓰리팸 2005-04-14 23211
3615 비밀글에서 수신자를 지정할 수 있도록 개선 [6] [레벨:1]장아산 2005-04-14 11136
3614 홈페이지에 뉴스 서비스를 하세요 [9] [레벨:1]박스 2005-04-13 5777
3613 서브 레이어 사용안할 때 작성자 이름 누르면 아웃룩대신 쪽지보내기 창 띄우기 [2] [레벨:1]레인 2005-04-12 3577
3612 pl7 변경 관련, zetyx_board_id의 password 길이 한번에 바꾸기 [13] [레벨:6]아가페 2005-04-11 13605
3611 제로보드에 웹에디터를 달자. (FCKeditor 2.0 RC3) file [30] [레벨:2]+_+ 2005-04-11 22127
3610 제로보드에서 폼메일 사용하기 file [47] [레벨:20]영진 2005-04-10 18023