제로보드4는 공식적으로 더 이상 개발되지도 배포되지도 않습니다.
제로보드4를 사용하기 위한 팁보다 제로보드4를 안전하고 무사히 다른 툴로 이전하는 팁들을 게재해주시면 감사하겠습니다.
시간이 오래 지난 만큼 오래된 프로그램은 보안 및 사용성에 있어 문제가 많으니 이해 바랍니다.
글 수 4,549
게시판의 비밀글 기능을 개선하였습니다.
글 작성자가 지정하는 수신자만 읽을 수 있고 다른 회원들은 읽을 수가 없습니다.
글 첫줄에 수신자 아이디를 차례로 나열해 주고 <엔터>키를 한번 입력하면 됩니다.
<게시물 작성 예>
수신자: bhchang,gildong123, freezia <엔터키> // 본문 첫째 줄에 수신자 아이디 목록을 입력합니다.
(이하 본문 시작)
수신자 아이디는 게시판에서 사람이름을 왼쪽 클릭하여 회원정보보기에서알아낼 수 있습니다.
또는 쪽지보기에 들어가서 쪽지보내기로 들어가서 검색하여 알아 낼수도 있습니다.
수신자의 수는 제한이 없습니다. 입력도중 자동줄바꿈은 신경쓰지말고 수신자를 계속 입력하고 마지막에 한번 엔터키를 입력하면 됩니다.
원래 제로보드 게시판에서 비밀글은 지정하는 회원등급이상인 사람이 읽을 수 있도록 되어 있었으나 위와 같이 변경하였습니다.
수정대상 프로그램은 zeroboard 폴더에 있는 view.php 입니다.
"//비밀글이고...." 부터 "//현재글의 ..." 까지 사이에 있는 프로그램을 아래와 같이 대치해 주면 됩니다.
// 비밀글이고, 패스워드가 틀리고, 작성자가 아니고, 관리자가 아니면 에러 표시
function is_receiver($memo,$user_id) {
$rcvlist=str_replace(":", ",", substr($memo, 0, strpos($memo,"n")));
$rcvary=explode(",",$rcvlist);
$t_user_id=trim($user_id);
$flag=0;
for ($i=0; $i<count($rcvary); $i++) {
$t_rcv_id=trim($rcvary[$i]);
if (!strcasecmp($t_rcv_id, $t_user_id)) $flag=1;
}
return $flag;
}
if ($data[is_secret] && ! is_receiver($data[memo], $member[user_id]) && ! ($data[ismember]==$member[no]) && !$is_admin) {
// 관리자도 읽을 수 없도록 하려면 다음 라인을 사용하십시오.
// if ($data[is_secret] && ! is_receiver($data[memo], $member[user_id]) && ! ($data[ismember]==$member[no])) {
error("비밀글을 열람할 권한이 없습니다");
}
// 현재글의 HIT수를 올림;;
많이 활용해 주시기 바랍니다.
글 작성자가 지정하는 수신자만 읽을 수 있고 다른 회원들은 읽을 수가 없습니다.
글 첫줄에 수신자 아이디를 차례로 나열해 주고 <엔터>키를 한번 입력하면 됩니다.
<게시물 작성 예>
수신자: bhchang,gildong123, freezia <엔터키> // 본문 첫째 줄에 수신자 아이디 목록을 입력합니다.
(이하 본문 시작)
수신자 아이디는 게시판에서 사람이름을 왼쪽 클릭하여 회원정보보기에서알아낼 수 있습니다.
또는 쪽지보기에 들어가서 쪽지보내기로 들어가서 검색하여 알아 낼수도 있습니다.
수신자의 수는 제한이 없습니다. 입력도중 자동줄바꿈은 신경쓰지말고 수신자를 계속 입력하고 마지막에 한번 엔터키를 입력하면 됩니다.
원래 제로보드 게시판에서 비밀글은 지정하는 회원등급이상인 사람이 읽을 수 있도록 되어 있었으나 위와 같이 변경하였습니다.
수정대상 프로그램은 zeroboard 폴더에 있는 view.php 입니다.
"//비밀글이고...." 부터 "//현재글의 ..." 까지 사이에 있는 프로그램을 아래와 같이 대치해 주면 됩니다.
// 비밀글이고, 패스워드가 틀리고, 작성자가 아니고, 관리자가 아니면 에러 표시
function is_receiver($memo,$user_id) {
$rcvlist=str_replace(":", ",", substr($memo, 0, strpos($memo,"n")));
$rcvary=explode(",",$rcvlist);
$t_user_id=trim($user_id);
$flag=0;
for ($i=0; $i<count($rcvary); $i++) {
$t_rcv_id=trim($rcvary[$i]);
if (!strcasecmp($t_rcv_id, $t_user_id)) $flag=1;
}
return $flag;
}
if ($data[is_secret] && ! is_receiver($data[memo], $member[user_id]) && ! ($data[ismember]==$member[no]) && !$is_admin) {
// 관리자도 읽을 수 없도록 하려면 다음 라인을 사용하십시오.
// if ($data[is_secret] && ! is_receiver($data[memo], $member[user_id]) && ! ($data[ismember]==$member[no])) {
error("비밀글을 열람할 권한이 없습니다");
}
// 현재글의 HIT수를 올림;;
많이 활용해 주시기 바랍니다.
제가 원했던 팁인데 마침 맞게 올려주셨네요.
그런데 다음의 경우는 자신의 글 접근이 어려울것 같습니다.
1. 수신자 비밀글 기능을 회원이 모르고 첫번째 줄부터 글을 쓴 경우에 글쓴이 접근불가
2. 수신자를 변경할 필요가 있을때에도 자신의 아이디를 수신자로 해놓지않으면 접근불가
그래서 글쓴이는 무조건 자신의 글에 접근가능하도록 하는 것이 좋지 않을까 해서 다음과같이 변경하여 적용하였습니다.
if ($data[is_secret] && ! is_receiver($data[memo], $member[user_id]) && !$is_admin) {
를 아래의 코드로 수정
if ($data[is_secret] && ! is_receiver($data[memo], $member[user_id]) && !$is_admin && ! ($data[ismember]==$member[no])) {
제 컴퓨터에서 아이디로 만들어 접속하여 테스트한 것은 잘되는것 같은데 잘 될지 모르겠네요. 2005-04-14
04:19:19
그런데 다음의 경우는 자신의 글 접근이 어려울것 같습니다.
1. 수신자 비밀글 기능을 회원이 모르고 첫번째 줄부터 글을 쓴 경우에 글쓴이 접근불가
2. 수신자를 변경할 필요가 있을때에도 자신의 아이디를 수신자로 해놓지않으면 접근불가
그래서 글쓴이는 무조건 자신의 글에 접근가능하도록 하는 것이 좋지 않을까 해서 다음과같이 변경하여 적용하였습니다.
if ($data[is_secret] && ! is_receiver($data[memo], $member[user_id]) && !$is_admin) {
를 아래의 코드로 수정
if ($data[is_secret] && ! is_receiver($data[memo], $member[user_id]) && !$is_admin && ! ($data[ismember]==$member[no])) {
제 컴퓨터에서 아이디로 만들어 접속하여 테스트한 것은 잘되는것 같은데 잘 될지 모르겠네요. 2005-04-14
04:19:19

'수신자 아이디는 게시판에서 사람이름을 오른쪽 클릭하여 알아낼수 있습니다.'
'또는 쪽지보기에 들어가서 쪽지보내기로 들어가서 검색하여 알아 낼수도 있습니다.'
이말은 무슨 말인지 잘 모르겠네요.