제로보드 안티스팸 설치법
2010.05.12 07:33
원문 : 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
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
** 설치 안내
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
댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
11 | apache2 + php5 + mysql5 + gd/jpegsrc/freetype/libpng 연동하기 | 조인상 | 2010.05.12 | 7984 |
10 | tomcat 의 설명 / 설치 | 조인상 | 2010.05.12 | 9484 |
9 | 아파치 기본 인증 .htaccess .htpasswd 설정하기 [1] | 조인상 | 2010.05.12 | 12852 |
8 | 제로보드 install.php이후 설치시 "관리자테이블 생성실패" 라는 메시지 | 조인상 | 2010.05.12 | 6566 |
7 | [HTML] 우클릭 금지 및 하단상황선 안 보이게... | 조인상 | 2010.05.12 | 6297 |
6 | 제로보드 - header information 에러 대처방법 | 조인상 | 2010.05.12 | 4318 |
» | 제로보드 안티스팸 설치법 | 조인상 | 2010.05.12 | 7056 |
4 | [스크립트] 톰캣프로세스 검사후 자동실행 | 조인상 | 2010.05.11 | 7634 |
3 | weblogic charset 확인방법 | 조인상 | 2010.05.11 | 7464 |
2 | JEUS 제품군 charset 확인방법 | 조인상 | 2010.05.11 | 9458 |
1 | tmax jeus 버전/라이센스 확인 방법 | 조인상 | 2010.05.11 | 13822 |