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

제로보드 게시물 작성후 수정시에 비회원의 경우 미리 내용이 출력되게 됩니다.
이를 방지하기위해 비밀번호를 먼저 묻도록 수정하는 방법 입니다.


제로보드 디렉토리의 write.php 파일 74라인쯤 보시면

if($mode=="modify") { 라고 나옵니다. 이부분 다음에 다음 파란색 부분을 추가해주시면 됩니다.


// 관리자가 아니고, 본인작성글이 아닐때 패스워드를 먼저 묻고 틀리면 계속 묻기 ....
if(!$is_admin && $data[ismember]!=$member[no] ) {
$secret_check=mysql_fetch_array(mysql_query("select count(*) from $t_board"."_$id where no='$data[no]'+ '+ ' and password=password('$password')"));
    if(!$member[no] && !$secret_check[0]) {
        head();
        $title="이 글을 수정하시려면 비밀번호를 입력하여 주십시요";
        $input_password="<input type=password name=password size=20 maxlength=20 class=input>";
        include $dir."/ask_password.php";
        foot();
        exit();
    }
}


비밀번호를 두번 묻는게 싫으신분은 ^^; 사용하시는 스킨을 수정해주시면 한번만 묻도록 수정할수도 있습니다.
해당 스킨 디렉토리에서 write.php 파일을 열어서
<input type=password name=password ....    
를 찾으셔서
<input type=password name=password value='<?=$password?>' ....
파란색 부분을 추가해주시면 됩니다.
사용하시는 스킨에따라 password입력부분의 태그가 약간씩 상이할수 있습니다.
^^; 제가 말하려는 의도를 이해 하셨으리라 생각 하겠습니다. ^^;
(ㅜ.ㅜ 이해가 안가시면 제홈페이지 질문과 답변 게시판을 한번더 이용해 주시기 바랍니다....)


다음부터는 수정시 비밀번호를 먼저 묻고 수정이 가능하도록 변경 됩니다.
김주영님의 Tip 추가 ^^;

[레벨:1]curacura

2005.04.17 08:25:00
*.239.151.63

아이쿠님 정말 감사드립니다
깔끔하게 해결해 주셨네요 ^^ 이제 걱정없이
비회원 정보유출없이 게시판을 이용할 수 있겠네요
홈페이지에 들어가려고 했는데 접속이 안되서 못들어갔네요
다시한번 감사드리구요 복 많이 받으실 겁니다

[레벨:20]영진

2005.04.17 10:26:35
*.9.50.147

이전화면버튼을 클릭하면 첫화면으로 안가네요. 비번 잘못입력했을경우.
수정화면에 들어온후 취소하면 다시 비번입력화면이 나옵니다.

[레벨:8]아이쿠

2005.04.18 10:34:50
*.125.52.151

curacura :// ㅜ.ㅜ 홈페이지가 일요일은 쉬었네요... 서버가 제께 아니다 보니... 사고처리에 미흡하네요 .. ㅜ.ㅜ 답변을 이쪽에도 남겨두어서 ^^; 다행이었네요.. ^^; 감사합니다.

영진 :// 단순히 비밀번호 묻는 화면에서 취소는 ㅜ.ㅜ 뒤로 가는 자바스크립트를 이용한거라서요.. 스킨을 따로 만든다면 가능하긴 하겠지만.. ㅜ.ㅜ 각 게시판의 스킨기능을 이용하여 보다 통일감(?)을 주는 방식으로 사용하다 보니 ^^; 비밀번호를 여러번 틀린경우 뒤로 여러번 가야 원하시는 화면을 만나실수 있으실듯 합니다. 스킨을 따로 만들기도 번거롭고할듯 하여, 또한 수정버튼을 눌러야만 그런현상을 만나실수 있는 상황이라 그냥 나두고 보는중입니다. ^^;

[레벨:1]김주영

2005.04.18 11:36:29
*.236.228.38

방명록에서 테스트해봤는데... 약간의 문제가 있어서 변경해보았습니다.

// 패스워드를 먼저 묻고 틀리면 계속 묻기 ....
if(!$is_admin && $data[ismember]!=$member[no]) { // 자기 자신의 글이거나 관리자일 때를 제외


그리고 asp_password.php에서의 if(!$member[no]) {을
if($data[ismember]!=$member[no]) {
를 변경

[레벨:1]curacura

2005.04.20 08:49:44
*.67.191.150

아~ 휴무셨군요 ^^ 그래도 이곳에 올려져 있어서 다행이었구요 감사드려요
그런데 뒤로 가는 부분의 문제가 있었군요 ㅋㅋㅋ

[레벨:4]이명우

2006.11.09 01:25:26
*.255.46.60

주영님이 말한대로 하면 게시판에서 글을 삭제 할때 비밀번호 넣는 칸이 안나오는 문제가 있내요.

이거 좀 더 업글해서 회원도 글 수정 할때 먼저 비밀번호 물어보게 할 수는 없을까요?

[레벨:1]이영은

2006.11.30 21:12:26
*.140.254.13

제가 쓰는 스킨과 상관 관계가 있어 저만 그런지는 알 수 없지만, 아무튼 제 경우. 적용했더니 로그인한 회원이 비회원의 글을 수정하려고 하면 전처럼 바로 글 수정 화면이 나왔습니다. 게다가 로그인 상태라 비밀번호 입력창이 기본으로 보이지 않게 되기 때문에 화면만 나오고 수정을 할 수는 없었고요. 결국 회원은 로그인 상태로 자신의 가입 전 글을 수정할 수 없으며, 다른 비회원의 글을 막바로 복사할 수 있게 되었습니다.(제 사이트는 일단 읽기 화면에서는 복사를 막아 놨거든요)

그래서 두번째 이프문인 부분을 아래와 같이 수정했습니다.

if(!$member[no] && !$secret_check[0]) { => if(!$secret_check[0]) {

이렇게 해놓으면 로그인 상태든 로그아웃 상태든 무조건 비회원의 글은 비밀번호 묻는 화면이 나오는데요.
대신에 스킨의 ask_password.php 파일에서 패스워드 묻기가 로그인 상태일 때는 생략되도록 되어있어 그 부분도 수정했습니다.

<?if(!$member[no]) {?><?=$input_password?> => <?if($data[ismember]!=$member[no] || !$member[no]) {?><?=$input_password?>

이렇게 다 하고 났더니 잘 돌아가네요. (!$member[no] 부분을 삭제하지 않은 이유는 비회원의 비밀글 열람, 이후 수정이나 삭제 시도시 패스워드 입력창이 나오도록하기 위해서 입니다. 또 그 외에도 어떤 변수가 있을 지 모르니까요.)
전 php를 제대로 공부한 적은 없고 그냥 짜집기 수준입니다. 문제가 되는 부분이 있다면 알려주셨으면 좋겠습니다.



아이쿠님, 님이 올리신 여러가지 팁들 많은 도움을 받으며 쓰고 있습니다. :)

[레벨:1]이주영

2007.03.11 23:28:18
*.111.91.71

제 경우는 write.php 의 if($mode=="modify") { 바로 밑에 있는

// 비밀글이고 패스워드가 틀리고 관리자가 아니면 리턴
if($data[is_secret]&&!$is_admin&&$data[ismember]!=$member[no]&&$HTTP_COOKIE_VARS[zb_s_check]!=$setup[no]."_".$no) error("정상적인 방법으로 수정하세요");

위 3라인을 아예 삭제하고 아이쿠님이 써 두신 소스로 대체하니 잘 돌아가더군요.
좋은 소스 감사합니다!

[레벨:2]Vm~ 메타리

2007.07.08 15:58:11
*.51.125.163

감사합니다. ^^ 이런 좋은 방법이 있었네요.. 계속 걱정 했었는데.. 잘 됩니다. 두 번을 물어보든 세번을 물어보든 괜찮습니다. ㅋㅋㅋ
List of Articles
번호 제목 글쓴이 날짜 조회 수
3629 일본어 제로보드 41pl2 의 글쓰기,덧글에서 5c문자 관련 문자 깨짐 해소책 [3] [레벨:1]공건두 2005-04-18 2922
3628 관리자페이지에서 파일다운로드 권한설정하기 file [23] [레벨:20]영진 2005-04-18 6467
3627 비밀글은 리스트의 제목에 링크를 없애자.(작성자와 관리자는 나오게) [5] [레벨:9]헐랭이 2005-04-18 5278
3626 최근게시물에 [more], [write] 버튼 나타내기 file [1] [레벨:6]꺾쇠 2005-04-17 3263
3625 최근게시물에서 비밀글도 출력하자 (비밀글은 링크없애기) [22] [레벨:9]헐랭이 2005-04-17 5704
3624 글보기에서 랜덤회원소개, 회원등급, 인사말보기, 클릭하면 회원정보 새창으... [1] [레벨:4]김형석 2005-04-17 3650
3623 화면 해상도 보다 큰 이미지 나타내기 (리사이즈 아님) [7] [레벨:1]이창욱 2005-04-16 5236
» 비회원 글 수정시 비밀번호 먼저 묻기 .... 0.2 [9] [레벨:8]아이쿠 2005-04-16 3298
3621 비밀글 리플 관련 및 아래 비밀답글 관련 문제 추가.... [3] [레벨:8]아이쿠 2005-04-16 8026
3620 비밀글일때 (답글에서) 보안버그 문제의 임시조치 [7] [레벨:9]헐랭이 2005-04-16 9103
3619 기존회원과 신규회원은 특정게시판에 무조건 글하나 남기게 하기 [9] [레벨:9]헐랭이 2005-04-15 10964
3618 글작성후 24시간 전에는 삭제를 못하게 막기 [15] [레벨:9]헐랭이 2005-04-15 4947
3617 코멘트에 잘가져 간다는 인사글 안쓰면 다운로드 못하게 막기^^ [30] [레벨:9]헐랭이 2005-04-14 6013
3616 내 홈페이지에 카운터를 달기 [11] [레벨:1]엘쓰리팸 2005-04-14 23439
3615 비밀글에서 수신자를 지정할 수 있도록 개선 [6] [레벨:1]장아산 2005-04-14 11188
3614 홈페이지에 뉴스 서비스를 하세요 [9] [레벨:1]박스 2005-04-13 5841
3613 서브 레이어 사용안할 때 작성자 이름 누르면 아웃룩대신 쪽지보내기 창 띄우기 [2] [레벨:1]레인 2005-04-12 3636
3612 pl7 변경 관련, zetyx_board_id의 password 길이 한번에 바꾸기 [13] [레벨:6]아가페 2005-04-11 13790
3611 제로보드에 웹에디터를 달자. (FCKeditor 2.0 RC3) file [30] [레벨:2]+_+ 2005-04-11 22387
3610 제로보드에서 폼메일 사용하기 file [47] [레벨:20]영진 2005-04-10 18133