본문 바로가기
IT-개발,DB

[개발] 제로보드 스팸광고게시물,덧글 자동등록 방지

by SB리치퍼슨 2010. 11. 4.
제로보드 스팸광고게시물,덧글 자동등록 방지


※ 이전 버전에 비해 달라진 점
① 숫자만 되던 것에 영문도 가능하게 함
② 이미지의 숫자를 점 하나 하나 찍어서 만들던 것을, 비트맵 폰트파일을 이용하여 더욱 빠르고 간편하게 구현
③ 특정 게시판에는 스팸차단기능이 비활성화되도록 설정 가능
④ 기존, 3개의 파일로 쪼개져 있던 것을, 1개의 파일로 모음 (프로그램파일 1개+폰트파일 1개)
⑤ 기타, 소스를 더욱 효율적으로 정리
(도움을 주신 비혼(BiHon)님께 감사드립니다.)


※ 기존 1.5로 적용하시던 분들은, skin/ 디렉토리에 있는 3개의 파일을 지우시고,
이 2개의 파일을 올리시면 됩니다. (제로보드 관련파일 및 스킨파일 수정 불필요)

※ 본 프로그램은 서버에서 GD 라이브러리를 지원해야 가능합니다.

※ 앞으로 더 이상의 업그레이드는 하지 않을 예정입니다. (개인적인 사정으로)



  1. ZM_Crypt 2.0 특징
    1. 적용이 쉽다
      PHP 프로그램을 몰라도, HTML만 알면 쉽게 적용 가능합니다.
      기본적으로 파일 4개에 1줄씩만 넣어주시면 작동합니다.
    2. 게시물 차단 + 덧글(코멘트) 차단
      최근에는 덧글스팸도 많이 늘었습니다.
      본 프로그램은 게시물 뿐만 아니라 덧글(코멘트)의 자동등록도 차단합니다.
    3. 디자인 변경 용이
      여러 스킨을 사용해도, 각 스킨마다 원하는 위치에
      예쁘게 삽입 가능합니다.
    4. 보안코드가 텍스트 아닌 이미지
      보안코드가 텍스트가 아닌 이미지로 출력됩니다.
      그렇다고, 기존 이미지 파일을 불러오는 것이 아닙니다.
      GD 라이브러리를 이용, 자체 폰트함수로 그때마다 숫자 이미지 파일을 뿌려주고
      자동 삭제됩니다.
      때문에, 기존 텍스트 기반의 보안코드보다 보안성이 강합니다.
    5. 씨앗(Seed)을 바탕으로 한 자체 암호화 함수 내장여러분이 처음에 씨앗(Seed)을 설정할 수 있습니다.
      암호화는 그 씨앗을 바탕으로 이루어집니다.
      때문에, 더욱 더 안전합니다.
  2. 설치방법
    1. 환경설정 (zm_crypt.php 수정)
      ① 13째줄(씨앗) : 반드시 변경, 알파벳+숫자로 이루어진 암호 (외울 필요 없음)
      ② 14째줄(자릿수) : 보안코드의 자릿수 설정 (기본값:4자리)
      ③ 15째줄(보안코드 문자종류) : 숫자+알파벳, 또는 숫자만 설정 가능 (기본값:숫자+알파벳)
      ④ 스팸광고게시물 차단 필요없는 게시판 id 입력 : 게시판에 따라 차단 필요없는 게시판 이름(id)를 콤마(,)로 구분하여 입력
    2. 업로드제로보드(bbs) 디렉토리 안에 'skin' 디렉토리에 아래 두 파일 업로드.
      zm_crypt.php (zmCrypt 프로그램 파일)
      andale12.gdf (글꼴 파일)
      예:
      /bbs/ : 제로보드 설치 디렉토리
      /bbs/skin/ (특정 스킨 디렉토리가 아님) ☜ 이 디렉토리에 설치
      /bbs/skin/snowboard/ : 스노우보드 스킨 디렉토리
    3. 제로보드 파일 수정 (write_ok.php , comment_ok.php)위 두 파일을 열면 5~7째줄에 아래와 같은 코드가 똑같이 들어 있습니다.
      include "_head.php";
      위 코드의 바로 아랫줄에 아래 코드를 삽입합니다.
      include ("./skin/zm_crypt.php" ) ;
      저장 후 업로드 하여 덮어씌우시면 됩니다.
    4. 스킨 파일 수정 #1 (write.php)<?=$hide_start?> 코드 아랫줄에 다음 코드 삽입
      <? $zCryptClass='input' ; include ("./skin/zm_crypt.php" ) ; ?>
      (위에서 input 는 입력 폼의 스타일 클래스(class)입니다. 이해 안 되시면 패쓰!)

      이후, 원하시는 위치에 아래와 같이 넣으시면 됩니다.
      <?=$zCrypt_Img?> : 보안코드 이미지
      <?=$zCrypt_Form?> : 보안코드 입력폼
      (<?=$hide_start?> ~ <?=$hide_start?> 안에 넣어야 로그인한 회원에게는 숨길 수 있습니다.)
    5. 스킨 파일 수정 #2 (view_write_comment.php)<?=$hide_c_password_start?> 코드 아랫줄에 다음 코드 삽입
      <? $zCryptClass='input' ; include ("./skin/zm_crypt.php" ) ; ?>
      (위에서 input 는 입력 폼의 스타일 클래스(class)입니다. 이해 안 되시면 패쓰!)

      이후, 원하시는 위치에 아래와 같이 넣으시면 됩니다.
      <?=$zCrypt_Img?> : 보안코드 이미지
      <?=$zCrypt_Form?> : 보안코드 입력폼
      (<?=$hide_c_password_start?> ~ <?=$hide_c_password_end?> 안에 넣어야 로그인한 회원에게는 숨길 수 있습니다.)
    6. 설치 완료설치완료되었습니다. 테스트해 보시기 바랍니다.
      로그아웃 후 테스트해 보시는 것, 잊지 마세요.
  3. 고급 환경설정
    1. 환경설정 (zm_crypt.php 수정)20~17줄에는 고급 환경설정 코드가 있습니다.
      보안코드 글자색, 바탕색 등을 변경할 수 있습니다.
      주석이 자세히 되어 있으므로 쉽게 변경 가능합니다.
  4. 기타 문의사항 및 정보
    1. 이메일 : ZnMee@naver.com (지앤미)
    2. 블로그 : blog.naver.com/ZnMee (知&美 : 앎과 앎다움)
    3. 프로그램 : ZM_Crypt 2.0 (2007.07.18. Released)

※ 2007년 11월 07일 추가 정보

제가 테스트하고 있는 커뮤니티 게시판에 본 ZM_Crypt 2.0을 적용한 이후로
자동 스팸광고 게시물이 어제 처음으로 등록되었습니다.
어떻게 등록했나 보니, 아예 회원가입을 자동으로 하여 로그인 한 후
게시물을 등록하는 방식이더군요.
이에, 회원가입 페이지에도 보안코드를 입력하도록 조치하였습니다.

제로보드 프로그램이 있는 디렉토리에 있는
member_join.php 에 보안코드 입력 폼을,
member_join_ok.php 에 검사 코드를 추가하면 됩니다.

단, 이렇게 했을 경우, 오류가 발생합니다.
zm_crypt.php 파일을 열어 18번째 줄 다음에
if (!$id) {$id=0;}
위와 같이 1줄의 코드를 넣어 주시면 오류가 해결됩니다.

 

※ 2007년 12월 17일 추가 정보

사용하시는 서버에 ZM_CRYPT를 사용 가능한지 체크하는 프로그램을
첨부파일로 올렸습니다.
파일명 : zm_crypt_check-znmee.php
위 파일을 먼저 서버에 올리셔서 테스트를 하신 후
적용하시기 바랍니다.

 

※ 2008년 01월 06일 추가 정보

"씨앗"을 반드시 변경하셔야 합니다.
"씨앗"은 입력되는 보안코드를 암호화하는 기본 바탕이 됩니다.
본 프로그램은 단순히 "5858"이라고 입력해도 "5858"로 전송되지 않고
자체 암호화를 통해 다른 문자열로 전송됩니다.
이 암호화를 할 때, "씨앗"을 이용합니다.

예를 들어,
A 사이트 게시판에서 "5858"을 입력했을 때의 암호화 코드와
B 사이트 게시판에서 "5858"을 입력했을 때의 암호화 코드가 똑같다면
금방 뚫리게 되어 스팸 게시물은 다시 올라오게 됩니다.
(이미 기본값인 ZnMeeSeed는 뚫렸습니다.)

"씨앗"은 각 사이트의 게시판마다 제각기 다른 암호화를 할 수 있도록 만드는
기본 바탕입니다.
아직 변경하지 않고 사용하시는 분들은 꼭 바꿔 주시기 바랍니다.
외울 필요도 없습니다.
영문과 숫자의 조합으로 되도록 의미없는 글자들의 조합으로 바꿔 주세요



출처: http://blog.naver.com/znmee/70019857377
반응형

댓글