불당님의 1:1게시판을 사용하면서 생각하지 못했던 에러(?)를 알게 되었습니다. 정보
불당님의 1:1게시판을 사용하면서 생각하지 못했던 에러(?)를 알게 되었습니다.
본문
안녕하세요.
불당님께서 공개해주신 1:1 게시판을 정말 유용하게 사용하고 있습니다.
몇군데 홈페이지에 그 기능을 넣었서 지금껏 잘 사용하고 있었습니다.
그런데...
오늘 어느 한곳으로 부터 연락을 받았습니다.
일반 게시판에 비밀글로 체크한 글들도 아무나 그냥 다 보여진다는 것이었습니다.
설마하는 마음에 접속해서 확인해 봤더니 정말 그렇더라구요.
처음에는 스킨 문제인줄 알고 이스킨 저스킨 바꿔서 해봤지만 같은 현상이더군요.
그래서 그누보드 질문답변 게시판 검색하다가 원인을 알게 되었습니다.
1:1 게시판 아이디 지정을 사용하기 위해서는
bbs/ board.php 파일중에
// 자신의 글이거나 관리자라면 통과
if (($write[mb_id] && $write[mb_id] == $member[mb_id]) || $is_admin)
를
// 자신의 글이거나 관리자라면 통과
if (($write[mb_id] && $write[mb_id] == $member[mb_id]) || $is_admin || $member[mb_id] == $write[wr_5])
이처럼 바꿔줘야만 제대로 작동을 하는데, 이렇게 수정을 한것이 문제더군요.
이미 만든지 1년정도가 된 홈페이지 였는데,
일반 게시판에 비밀글 체크를 해도 그냥 다 보인다는걸 이제서야 알게 되었습니다.
이 기능이 꼭 필요해서 1:1게시판을 넣은 홈페이지가 대여섯군데쯤 되는데 지금 확인해 보니 모두 그렇더라구요.
결국 bbs/ board.php를 원상복귀 시켜봤습니다.
물론 일반게시판에 비밀글은 제대로 먹히지만,
문제는 이렇게 되면 1:1게시판에서 아이디 지정을 할수가 없게 됩니다.
해당 아이디가 로그인 해서 그글을 볼려고 하면 비밀번호를 치라고 하니...
마침 다른분도 저와 같은 증상을 보이신다는 글을 봤고,
그글 댓글에 치에님 께서 아래와 같이 댓글을 주셨기에,
그대로 적용을 해봤으나 에러가 나기에 다시 원본으로 바꿔 논 상태입니다.
// 자신의 글이거나 관리자라면 통과
if (($write[mb_id] && $write[mb_id] == $member[mb_id]) || $is_admin || $member[mb_id] == $write[wr_5])
요분에..
if ($row[bo_table] == "아이디지정 게시판테이블명") {
// 자신의 글이거나 관리자라면 통과
if (($write[mb_id] && $write[mb_id] == $member[mb_id]) || $is_admin || $member[mb_id] == $write[wr_5])
} else {
// 자신의 글이거나 관리자라면 통과
if (($write[mb_id] && $write[mb_id] == $member[mb_id]) || $is_admin)
}
결국 어떤 홈페이지는 1:1 아이디 지정 기능을 줄곧 사용하고 있었기에
이 기능이 중요해서 그냥 비밀번호 체크해도 그 글 보이는대로 놔둔것도 있고,
어떤 홈페이지는 홈페이지 상에는 1:1게시판이 있지만 작동을 포기하고 일반 게시판 비밀글 제대로 작동하게 해놨습니다.
1:1 게시판을 꼭 사용하고 싶은데,
어떤 방법으로 하면 일반 게시판 비밀글 에러가 안나면서 사용할수 있을지
고수분들 답변 좀 부탁드리겠습니다.
감사합니다.
불당님께서 공개해주신 1:1 게시판을 정말 유용하게 사용하고 있습니다.
몇군데 홈페이지에 그 기능을 넣었서 지금껏 잘 사용하고 있었습니다.
그런데...
오늘 어느 한곳으로 부터 연락을 받았습니다.
일반 게시판에 비밀글로 체크한 글들도 아무나 그냥 다 보여진다는 것이었습니다.
설마하는 마음에 접속해서 확인해 봤더니 정말 그렇더라구요.
처음에는 스킨 문제인줄 알고 이스킨 저스킨 바꿔서 해봤지만 같은 현상이더군요.
그래서 그누보드 질문답변 게시판 검색하다가 원인을 알게 되었습니다.
1:1 게시판 아이디 지정을 사용하기 위해서는
bbs/ board.php 파일중에
// 자신의 글이거나 관리자라면 통과
if (($write[mb_id] && $write[mb_id] == $member[mb_id]) || $is_admin)
를
// 자신의 글이거나 관리자라면 통과
if (($write[mb_id] && $write[mb_id] == $member[mb_id]) || $is_admin || $member[mb_id] == $write[wr_5])
이처럼 바꿔줘야만 제대로 작동을 하는데, 이렇게 수정을 한것이 문제더군요.
이미 만든지 1년정도가 된 홈페이지 였는데,
일반 게시판에 비밀글 체크를 해도 그냥 다 보인다는걸 이제서야 알게 되었습니다.
이 기능이 꼭 필요해서 1:1게시판을 넣은 홈페이지가 대여섯군데쯤 되는데 지금 확인해 보니 모두 그렇더라구요.
결국 bbs/ board.php를 원상복귀 시켜봤습니다.
물론 일반게시판에 비밀글은 제대로 먹히지만,
문제는 이렇게 되면 1:1게시판에서 아이디 지정을 할수가 없게 됩니다.
해당 아이디가 로그인 해서 그글을 볼려고 하면 비밀번호를 치라고 하니...
마침 다른분도 저와 같은 증상을 보이신다는 글을 봤고,
그글 댓글에 치에님 께서 아래와 같이 댓글을 주셨기에,
그대로 적용을 해봤으나 에러가 나기에 다시 원본으로 바꿔 논 상태입니다.
// 자신의 글이거나 관리자라면 통과
if (($write[mb_id] && $write[mb_id] == $member[mb_id]) || $is_admin || $member[mb_id] == $write[wr_5])
요분에..
if ($row[bo_table] == "아이디지정 게시판테이블명") {
// 자신의 글이거나 관리자라면 통과
if (($write[mb_id] && $write[mb_id] == $member[mb_id]) || $is_admin || $member[mb_id] == $write[wr_5])
} else {
// 자신의 글이거나 관리자라면 통과
if (($write[mb_id] && $write[mb_id] == $member[mb_id]) || $is_admin)
}
결국 어떤 홈페이지는 1:1 아이디 지정 기능을 줄곧 사용하고 있었기에
이 기능이 중요해서 그냥 비밀번호 체크해도 그 글 보이는대로 놔둔것도 있고,
어떤 홈페이지는 홈페이지 상에는 1:1게시판이 있지만 작동을 포기하고 일반 게시판 비밀글 제대로 작동하게 해놨습니다.
1:1 게시판을 꼭 사용하고 싶은데,
어떤 방법으로 하면 일반 게시판 비밀글 에러가 안나면서 사용할수 있을지
고수분들 답변 좀 부탁드리겠습니다.
감사합니다.
댓글 전체
http://sir.co.kr/bbs/board.php?bo_table=g4_skin&wr_id=56815
이 스킨에서요??? board.php에 wr_%가 없는데...왜 없앴지??? ㅠ..ㅠ..
불당팩의 1:1 게시판은 최근에 테스트를 안했는데 확인 해봐야 하겠네요.
불당팩만 업글하고, 공개한 스킨은 업글을 안했나??? ...
이 스킨에서요??? board.php에 wr_%가 없는데...왜 없앴지??? ㅠ..ㅠ..
불당팩의 1:1 게시판은 최근에 테스트를 안했는데 확인 해봐야 하겠네요.
불당팩만 업글하고, 공개한 스킨은 업글을 안했나??? ...

안녕하세요. 아빠불당님...
네 알려주신 그 링크의 소스 입니다.
혹시나 해서 지금 다시 받아서 테스트 해봤습니다.
스킨이 문제 있는게 아니고 제대로 작동을 합니다.
하지만 1:1 아이디 지정이 제대로 작동하기 위해서는
bbs/ board.php를 아래처럼 고쳐줘야 하는데...
// 자신의 글이거나 관리자라면 통과
if (($write[mb_id] && $write[mb_id] == $member[mb_id]) || $is_admin || $member[mb_id] == $write[wr_5])
이렇게 수정을 하면,
1:1 게시판이 아닌 일반 게시판에서 비밀글 체크하고 쓴 글들이 아무런 여과없이 그냥 보여집니다.
저 부분을 다시 원상복귀하면 비밀글 체크한글 누르면 비밀번호 입력하는 칸 나오고요.
하지만 이렇게 되면 1:1 게시판이 제대로 작동을 하지 않습니다.
네 알려주신 그 링크의 소스 입니다.
혹시나 해서 지금 다시 받아서 테스트 해봤습니다.
스킨이 문제 있는게 아니고 제대로 작동을 합니다.
하지만 1:1 아이디 지정이 제대로 작동하기 위해서는
bbs/ board.php를 아래처럼 고쳐줘야 하는데...
// 자신의 글이거나 관리자라면 통과
if (($write[mb_id] && $write[mb_id] == $member[mb_id]) || $is_admin || $member[mb_id] == $write[wr_5])
이렇게 수정을 하면,
1:1 게시판이 아닌 일반 게시판에서 비밀글 체크하고 쓴 글들이 아무런 여과없이 그냥 보여집니다.
저 부분을 다시 원상복귀하면 비밀글 체크한글 누르면 비밀번호 입력하는 칸 나오고요.
하지만 이렇게 되면 1:1 게시판이 제대로 작동을 하지 않습니다.
일반 게시판에서는 wr_5를 쓰지 않기 때문에 $write[wr_5]는 비어있을 거고 당연히 게스트로 들어온 경우 $member[mb_id]가 비어있기 때문에 등식이 성립이 되는거죠... 그래서 일반 게시판의 경우 게스트로 들어오면 당연히 비밀글을 읽을 수 있게 됩니다.
고로 지금의 방식으로는 일반 게시판과 1:1게시판 동시에 쓰기는 어렵다고 봅니다.
이렇게 하면 어떻까 싶네요.
if (($write[mb_id] && $write[mb_id] == $member[mb_id]) || $is_admin || ($write[wr_5] && $member[mb_id] == $write[wr_5]))
고로 지금의 방식으로는 일반 게시판과 1:1게시판 동시에 쓰기는 어렵다고 봅니다.
이렇게 하면 어떻까 싶네요.
if (($write[mb_id] && $write[mb_id] == $member[mb_id]) || $is_admin || ($write[wr_5] && $member[mb_id] == $write[wr_5]))

letsgolee님 안녕하세요.
알려주신대로 적용을 해보니 정상 작동하는거 같습니다.
지금 이리 저리 테스트를 해봤는데 아무런 문제 없는듯 보여집니다.
정말 감사합니다.
알려주신대로 적용을 해보니 정상 작동하는거 같습니다.
지금 이리 저리 테스트를 해봤는데 아무런 문제 없는듯 보여집니다.
정말 감사합니다.
제가 쓰는 버젼에서는 원본 수정을 안해도 되게 해뒀는데,
찾아보니 안올린거 같네요. 다음주에 올려드리죠.
그것은 4.31.02 버젼 패치가 된 것 입니다. ㅠ..ㅠ...
찾아보니 안올린거 같네요. 다음주에 올려드리죠.
그것은 4.31.02 버젼 패치가 된 것 입니다. ㅠ..ㅠ...

아빠불당님
이렇게 신경써 주셔서 감사합니다.
이렇게 신경써 주셔서 감사합니다.
비밀글 설정에 문제가 있어서, 금년초인가 작년말에 코드를 수정했었어요.
올려둔 스킨은 초기작품이구요. ㅎㅎ...
올려둔 스킨은 초기작품이구요. ㅎㅎ...