제로보드에 자동입력기로 스팸글 못 올라오게 하는 방법

by 이강욱 posted Jan 20, 2008
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄 수정 삭제


어디서 퍼 왔는지 모르겠습니다. 출처를 밝혀야 하는데 말이죠....
요즘 자동 입력기로 게시판에 스팸글들이 무차별 올라오고 있어서 방법을 찾다가 알게 되었습니다.


------------------------------


1. 제로보드가 설치된 곳에 숫자 이미지 그림 파일을 업로드합니다.(저는 lock.gif 라는 이름으로 등록하였습니다.)

2. 게시판에서 사용하고 있는 스킨(저는 happycast_category_lightblack 스킨을 사용합니다.) 디렉토리의 write.php 파일을 열어
적당한 곳에 다음 내용을 삽입합니다.
(주의! 제로보드가 설치된 곳의 write.php가 아니라, 제로보드가 설치된 곳의 skin 디렉토리 밑의 특정 스킨 디렉토리입니다.
예를 들어, 제로보드를 board 에 설치했다면 board\skin\happycast_category_lightblack 에 있는 write.php를 말하는 겁니다.)

<?=$hide_start?>
<tr>
  <td align=right class=listnum><b>Special2 </b></td>
  <td> <input type=text name=lock value="" <?=size(10)?> maxlength=200 class=input style="border-width:1px; border-color:<?=$list_header_dark0?>; border-style:solid;">  <img src="/xe/files/attach/images/207/277/005/5719eabfb6b79fefb2392a24ed41bad0.gif" align=absmiddle> <font color=red>왼쪽 숫자를 반드시 입력하세요.</font>(자동 광고 등록 방지용)</td>
</tr>
<tr><td bgcolor=#ffffff height=1 colspan=2><img src=images/t.gif height=1></td></tr>
<?=$hide_end?>



3. write_ok.php 의 중간쯤에 다음 내용을 삽입합니다.


// 자동 광고 등록 방지용 숫자 체크
        if(!$member[no]) {
                if($lock != '3239') {
                        Error("자동 광고 등록 방지용 숫자가 잘못 입력되었습니다.");
                }
        }

한번 해보세요~ 효과 100%입니다.

위에서 언급한 두 개의 php 파일과 그림파일을 첨부합니다.
참조하세요~

이상, 동주아빠 손병목이었습니다.

-------------------------------------------------------
Ver 2.

아래 여러분들의 요청에 따라
특정 이미지 파일을 만들어 사용하지 않고,
랜덤한 숫자의 이미지 파일을 바로 생성하여 사용할 수 있도록 해봤습니다.



랜덤하게 추출할 수 있도록 바꿔보았습니다.
위의 원본 소스를 먼저 이해하시고, 아래 내용을 보셔야 합니다.

[원리]
랜덤하게 숫자를 생성하고,
GD 라이브러리 함수를 이용해 이 숫자를 사용한 이미지 파일을 자동으로 만들었습니다.

1.


제로보드 설치한 곳의 write.php 를 열어,

하단의 다음 내용 밑에
// HTML 출력
head(" onload=unlock() onunload=hideImageBox() ","script_write.php");

아래의 소스를 삽입합니다.

/****************************************
* 자동 등록 방지용 이미지 파일 생성
*****************************************/
// 난수 발생
srand ((double) microtime() * 1000000) ;
$lock_str = rand(1000,9999);

$lock_img = ImageCreate(35,20);
$bgColor = ImageColorAllocate($lock_img,128,0,0);
$fgColor = ImageColorAllocate($lock_img,255,255,255);
ImageString($lock_img,3,3,3,$lock_str,$fgColor); // 이미지식별자,Font,x,y,문자열,색상
ImagePNG($lock_img,"locknumber.png"); // 이미지 파일 저장

2. 스킨 디렉토리에서 write.php 파일을 열어

(1) FORM 부분에, 아래 소스를 추가합니다.

<input type=hidden name=locknumber value="<?=$lock_str?>">

(2)

이미지 파일 이름을 바꿔줍니다.
원래는 lock.gif 였죠? 이걸 위에서 생성한 파일 이름 : locknumber.png 로 바꿔주세요.

3. 다시 제로보드 설치된 곳의 write_ok.php 파일을 열어

3239라는 숫자를 비교한 if 문을
if($lock != $locknumber)
이렇게 바꿔줍니다.