익명게시판 만들기 ver 1.00 > 그누4 팁자료실

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.

익명게시판 만들기 ver 1.00 정보

익명게시판 만들기 ver 1.00

본문

mahler83의 익명게시판 만들기. (익게, anonymous bbs by editing skin, not the core)

코어를 건들지 않고 스킨만을 수정하는 방법입니다.

1. 글쓴이의 회원 정보가 DB에 "거의" 남지 않습니다. DB에 기록되는 정보는 작성자의 암호화된 id뿐입니다. 암호화는 회원 정보에 주민등록 번호나 비밀번호를 저장하는 것과 비슷한 방법을 씁니다.
2. 회원 중에 "anonymous"라는 아이디가 있으면 안됩니다. (소스 수정해서 사용하세요)
3. 보드 DB에 wr_10을 text로 바꿔서 사용하시기 바랍니다. 작성자 정보가 암호화되어 저장되는 공간입니다. (다른 필드로 바꿔서 사용해도 됩니다.)
4. crypt($member[mb_id],"**")라는 문구에서 **을 원하는 문자나 숫자로 치환해주시기 바랍니다. 단, 두가지 파일에 동일한 내용을 넣어야 합니다.
5. 한 번 작성한 글이나 댓글은 수정하거나 삭제할 수 없습니다. 책임감 있게 글을 쓰게 하기 위함입니다.
5. 잘 작동한다면 댓글을 남겨주는 센스 발휘해주세요.
6. 버그가 발견된다면 지적해주세요.
7. "기존 행인인 경우" 부분의 코드는 제가 봐도 허접합니다. 개선해주실 분 환영입니다.

스킨 폴더에 다음과 같은 2가지 파일을 생성해주세요. (이미 있다면 추가해주시면 됩니다.)

write_update.head.skin.php
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

// 익명 코드 by mahler83 ver 1.00 = = = = = = = = = = = = = = = = = = = =
// DB 테이블에서 mb_10의 데이터 형태를 "text"로 바꾸어줘야 합니다. 물론 다른 필드를 사용해도 됩니다.
// 글쓴이는 "글쓴이", 코멘트를 다는 순서로 "행인1", "행인2" 이렇게 이름이 자동으로 들어갑니다.
// 회원 중에 "anonymous"라는 아이디를 가진 분이 있으면 다른 문자열을 사용해주세요.
// 이 아래에 있는 crypt($member[mb_id],"**")에서 별표 대신에 원하는 숫자나 문자를 2개 넣으세요.

// $anonym[mb_id_crypt]는 멤버 정보를 날리기 전에 생성
$anonym[mb_id_crypt] = crypt($member[mb_id],"**");

// 멤버 정보 날리기
unset($member);
$member[mb_id] = "anonymous";

// IP 정보 안 남기기
$_SERVER[REMOTE_ADDR] = "";

// 글 쓸 권한 부여
$member[mb_level] = $board[bo_write_level];

// 이름이나 별명을 강제로 입력
$anonym[mb_name] = "글쓴이";
$member[mb_name] = $anonym[mb_name];
$member[mb_nick] = $anonym[mb_name];

// 익명 리스트 생성
$wr_10 = $anonym[mb_id_crypt];

// 익명 코드 by mahler83 끝 = = = = = = = = = = = = = = = = = = = =
?>


write_comment_update.head.skin.php
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

// 익명 코드 by mahler83 ver 1.00 = = = = = = = = = = = = = = = = = = = =
// DB 테이블에서 mb_10의 데이터 형태를 "text"로 바꾸어줘야 합니다. 물론 다른 필드를 사용해도 됩니다.
// 글쓴이는 "글쓴이", 코멘트를 다는 순서로 "행인1", "행인2" 이렇게 이름이 자동으로 들어갑니다.
// 회원 중에 "anonymous"라는 아이디를 가진 분이 있으면 다른 문자열을 사용해주세요.
// 이 아래에 있는 crypt($member[mb_id],"**")에서 별표 대신에 원하는 숫자나 문자를 2개 넣으세요.


// 원글의 익명리스트 가져오기
$sql = "select wr_10 from $write_table where wr_id = '$wr_id'";
$query = sql_query($sql);
$result = sql_fetch_array($query);
$wr_10 = $result[wr_10];
$anonym[list_array] = explode("/=/", $wr_10);

// $anonym[mb_id_crypt]는 멤버 정보를 날리기 전에 생성
$anonym[mb_id_crypt] = crypt($member[mb_id],"**");

// 멤버 정보 날리기
unset($member);

// IP 정보 안 남기기
$_SERVER[REMOTE_ADDR] = "";

// 멤버 아이디 강제로 지정
$member[mb_id] = "anonymous";

// 글 쓸 권한 부여
$member[mb_level] = $board[bo_comment_level];

// 글을 쓴 적이 있는지 확인
if(in_array($anonym[mb_id_crypt], $anonym[list_array])) {
 // 글쓴이인 경우
 if($anonym[mb_id_crypt] == $anonym[list_array][0]) {
  $anonym[mb_name] = "글쓴이";
 }
 // 기존 행인인 경우
 else {
  for($i=1;$i<sizeof($anonym[list_array]);$i++) {
   if($anonym[list_array][$i] == $anonym[mb_id_crypt]) $anonym[mb_name] = "행인$i";
  }
 }
}

// 새 행인인 경우 번호를 매겨주고 원글의 익명 리스트 업데이트
if(!$anonym[mb_name]) {
 $anonym[mb_name] = "행인" . sizeof($anonym[list_array]);
 $wr_10 .= "/=/" . $anonym[mb_id_crypt];
 $sql = "update $write_table set wr_10 = '$wr_10' where wr_id = '$wr_id'";
 sql_query($sql);
 unset($wr_10); // $wr_10 사용 완료
}

// 이름이나 별명을 강제로 입력
$member[mb_name] = $anonym[mb_name];
$member[mb_nick] = $anonym[mb_name];

// 익명 코드 by mahler83 끝 = = = = = = = = = = = = = = = = = = = =
?>



여기 오른쪽 아래에 추천버튼 있어요. 도움 되었다면 아끼지 말고 추천 부탁드립니다~

추천
16

댓글 7개

저 그런데..

5. 한 번 작성한 글이나 댓글은 수정하거나 삭제할 수 없습니다. 책임감 있게 글을 쓰게 하기 위함입니다.

이부분..ㅠㅠ 수정/삭제 가능하게 바꿀수는 없나요?
전체 7 |RSS
그누4 팁자료실 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT