제로보드 안티스팸 설치법

2010.05.12 07:33

조인상 조회 수:7006

원문 : http://www.ischo.net -- 조인상 // 시스템 엔지니어

Writer : http://www.ischo.net -- ischo // System Engineer in Replubic Of Korea

+++++++++++++++++++++++++++++++++++++++++++++++++++++++

 

본문 : http://www.ischo.net -- 조인상 //시스템 엔지니어

+++++++++++++++++++++++++++++++++++++++++++++++++++++++


** 설치 안내
1. 게시판 스크립트가 있는 디렉토리에 AntiSpam.php 파일을 업로드하고 세팅값을 조정.
==>bbs폴더로 들어가서 업로드.. 위치가 bbs/AntiSpam.php ==> 이렇게 되겠지요~
초보님들은 모르시면 세팅값 그냥 놔두셔도 되요.

2. main.exe 파일을 같은 디렉토리에 업로드하고, 실행권한을 준다 ( 예 : chmod +x main.exe ) Linux용과 Windows 용이 있으니 구분하여 업로드 하시기 바랍니다.

==> 이것도 위치가 bbs/main.exe가 되겠구요.. 대부분 linux용을 쓴대요...linux폴더에 있는 main.exe파일을 업로드 하세요..

3. 같은 디렉토리에 AntiSpamTmp라는 이름(또는 AntiSpam.php에 세팅한 이름)의
하위디렉토리를 생성하고, 모든 권한을 준다. ( 예 : chmod 777 AntiSpamTmp )

==> 이것도 위치가 bbs/AntiSpamTmp가 되구요. 폴더에 마우스오른쪽버튼을 누르시면
권한설정이라는게 나오는데 현재모드칸에 777로 바꿔주세요.

4. 게시판의 글쓰기 폼 스크립트에서 AntiSpam.php 파일을 include 하고
AntiSpam Class 객체를 생성한 뒤, 멤버함수 MakeForm()을 실행하여 입력폼 삽입.

예 : 제로보드 4.1 pl 3 기준
(게시판 디렉토리)/skin/(스킨 디렉토리)/write.php 파일 97 라인에 아래 내용 삽입
<!-- Anti Spam -->
<tr>
<td colspan=2 align=center>
<?
include "./AntiSpam.php";
$AS = new AntiSpam;
$AS->MakeForm();
?>
</td>
</tr>
<!-- Antispam End -->


==> 예에 있는 소스를 그대로 복사해서 원하시는 곳에 넣으시면 되요..
제목쓰는곳 옆에 넣고 싶으시면 거기에 넣으시고.. 저는 이모티콘 윗쪽에 넣었어요..
아래 소스 중에서 예에 있는 소스위치를 잘 찾아보세요..
<tr>
<td><img src="<?=$dir?>/t.gif border=0 height=1><br><table cellspacing=0 cellpadding=0 width=100% height=100%><tr><td align=left>    <b>select</td></tr></table></td>
<td>
<?=$category_kind?>
<?=$hide_notice_start?> <input type=checkbox name=notice <?=$notice?> value=1> 공지사항 <?=$hide_notice_end?>
<?=$hide_html_start?> <input type=checkbox name=use_html <?=$use_html?> value=1> HTML사용 <?=$hide_html_end?>
<input type=checkbox name=reply_mail <?=$reply_mail?> value=1> 답변메일받기
<?=$hide_secret_start?> <input type=checkbox name=is_secret <?=$secret?> value=1> 비밀글 <?=$hide_secret_end?>
    <img src=<?=$dir?>/btn_down.gif border=0 valign=absmiddle style=cursor:hand; onclick=zb_formresize(document.write.memo)>
</td>
</tr>

<tr>
<td colspan=2 style=padding:5px><textarea name=memo <?=size2(90)?> rows=18 class=zv3_w_textarea><?=$memo?></textarea></td>
</tr>
<!-- Anti Spam -->
<? if(! $member[no]) { ?>
<tr>
<td><img src="<?=$dir?>/t.gif border=0 height=1><br><table cellspacing=0 cellpadding=0 width=100% height=100%><tr><td align=left valign=middle ><b>  antiSpam</td></tr></table></td>
<td> <?
include "./AntiSpam.php";
$AS = new AntiSpam;
$AS->MakeForm();
?>
</td>
</tr>
<? } ?>
<!-- Antispam End -->

<!-- 삽입한 이모콘티 -->

<tr>
<td colspan=2> <? include "emoticon/emoticon2.php"; ?> </td>
</tr>


5. 게시물을 저장하는 스크립트에서 같은 요령으로 AntiSpam Class 객체를 생성하고,
상단에서 멤버함수 Check()를 실행하여 입력된 숫자를 체크한다.
게시물이 저장된 후에는 멤버함수 Done()을 실행하여 임시파일을 삭제한다.
예 : 제로보드 4.1 pl 3 기준
(게시판 디렉토리)/write_ok.php 파일을 아래와 같이 수정

상단 include "_head.php"; 라인 아래에 다음 내용 삽입
include "./AntiSpam.php";
$AS = new AntiSpam;
// AntiSpam 체크
$AS->Check();

하단의 "페이지 이동" 부분 위에 아래 내용 삽입
// AntiSpam 파일 정리
$AS->Done();

==> bbs/write_ok.php를 예그대로 삽입하여 수정하시면 됩니다.

===============================================================
이렇게 하면 글쓸때 숫자를 써야 글등록이 되거든요..
근데 로그인한 회원들은 숫자를 안써도 되게 하려면요..
위 5번에서 수정한 bbs/write_ok.php에 삽입하는 내용을 다음처럼 하면되요.

if(! $member[no]) {
==>요것을 5번에서 삽입한 것 각각 바로윗줄에 추가하면 되요. 합치면 아래처럼되겠죠.

include "_head.php"; 라인 아래

if(! $member[no]) {
include "./AntiSpam.php";
$AS = new AntiSpam;
// AntiSpam 체크
$AS->Check();
}


하단의 "페이지 이동" 부분 위

// AntiSpam 파일 정리
if(! $member[no]) {
$AS->Done();
}

================================
그럼 한개의 게시판스킨만 적용하고 싶다면
역시 write_ok.php파일에 다음소스를 삽입하시면 되요...

include "_head.php"; 라인 아래

if($setup[skinname]=='스킨이름') {
include "./AntiSpam.php";
$AS = new AntiSpam;
// AntiSpam 체크
$AS->Check();
}

하단의 "페이지 이동" 부분 위

if($setup[skinname]=='스킨이름') {
$AS->Done();
}

========================================
종합.. 회원은 글쓸때 숫자를 입력하지 않아도 되게하고
2개의 게시판스킨에만 적용되게 하려면..
1,2,3,4번은 모두 같구요..

5번만 bbs/write_ok.php파일에 다음소스를 삽입하면 됩니다.

include "_head.php"; 라인 아래 삽입

if(! $member[no]) {
if($setup[skinname]=='스킨이름1' OR $setup[skinname]=='스킨이름2') {
include "./AntiSpam.php";
$AS = new AntiSpam;
// AntiSpam 체크
$AS->Check();
}
}


하단의 "페이지 이동" 부분 위 삽입

if(! $member[no]) {
if($setup[skinname]=='스킨이름1' OR $setup[skinname]=='스킨이름2') {
$AS->Done();
}
}


제대로 썼는지 모르겠네요~~ 화이팅!!





관련글 : http://www.nzeo.com/bbs/zboard.php?id=cgi_tip&page=2&sn1=&divpage=1&sn=off&ss=on&sc=off&keyword=광고&select_arrange=headnum&desc=asc&no=4253
번호 제목 글쓴이 날짜 조회 수
31 tmax jeus 버전/라이센스 확인 방법 조인상 2010.05.11 13750
30 JEUS 제품군 charset 확인방법 조인상 2010.05.11 9394
29 weblogic charset 확인방법 조인상 2010.05.11 7381
28 [스크립트] 톰캣프로세스 검사후 자동실행 조인상 2010.05.11 7595
» 제로보드 안티스팸 설치법 file 조인상 2010.05.12 7006
26 제로보드 - header information 에러 대처방법 조인상 2010.05.12 4264
25 [HTML] 우클릭 금지 및 하단상황선 안 보이게... 조인상 2010.05.12 6252
24 제로보드 install.php이후 설치시 "관리자테이블 생성실패" 라는 메시지 조인상 2010.05.12 6516
23 아파치 기본 인증 .htaccess .htpasswd 설정하기 [1] 조인상 2010.05.12 12813
22 tomcat 의 설명 / 설치 조인상 2010.05.12 9425
21 apache2 + php5 + mysql5 + gd/jpegsrc/freetype/libpng 연동하기 조인상 2010.05.12 7936
20 Zend optimizer 설치 조인상 2010.05.12 10585
19 XE에서 파일첨부용량 변경하기 조인상 2010.05.12 10762
18 tmax 제우스,웹투비 프로세스를 윈도우 서비스에 등록시키기 조인상 2010.05.12 15069
17 아파치 환경에서 404 페이지 만들기 조인상 2010.05.13 10880
16 xe 에서 일반유저를 관리그룹으로 포함시키려면 관리자 2010.05.13 10986
15 민주주의 벌받기시계 달기 조인상 2010.05.14 11341
14 TCP/UDP Port Map 조인상 2010.05.31 27494
13 제로보드 - fread() [function.fread]: Length parameter must be greater than 0 in ~~/bbs/lib.php on line 1010 [1] 조인상 2010.06.01 15693
12 톰캣 에러 - Exception loading sessions from persistent storage 조인상 2010.06.21 20610
서버에 요청 중입니다. 잠시만 기다려 주십시오...