여기는 저의 2004~2007년까지의 기록입니다. 이 블로그는 이제 Tistory로 옮겼습니다.
2008년부터의 기록은 http://blog.studioego.info 로 가시기 바랍니다.

StudioEgo's Thoughts, seasonⅡ


인증코드 부분을 다시 만들어야 할까?
이번에 제가 운영하는 서버의 모 게시판에 스팸들이 마구마구 들어오는 까닭에 -_-;; 어떻게 막을지 밤을 새면고 고민을 하고 있습니다.
python이라는 선배께서는 인증코드를 만들어서 비회원이 게시판에 글쓸때 인증코드를 넣지 않으면 스팸을 처리를 했더군요.(python이라는 분이 누군지도 모릅니다. 선배라는 것만 알지)
이 숫자를 입력하세요. (<?= date("z") + 3000 ?>)

$quizresult1 = date("z") + 3000;
$quizresult2 = date("z") + 2999;

if ( $quizresult != $quizresult1 && $quizresult != $quizresult2) {
?>
<script language="javascript">
alert("인증코드가 틀립니다.");
history.back();
</script>
<?
exit;
}

여기서 문제점이 있었습니다. 인증코드를 PHP에서 날짜,시간 format 함수인 date()를 써서 그런지 허점이 있더군요.

인증코드가 Text로 노출이 되어서 매크로 돌린 스팸이 그것을 알아차려서 Text를 입력해서 계속 스팸글들을 올릴수가 있습니다.
그리고 인증코드가 rand()함수가 아닌 date()함수를 써서 날짜가 그 날이면 계속 그날에만 지정된 인증코드만 생성됩니다. 같은 날짜에 각각 실행 시간이 달라도 다른 인증코드가 생성되지 않고 똑같은 인증코드가 생성되니 -_-;; 인증코드는 있으나 마나입니다.
(PHP에서 C언어의 rand() 함수가 있는지 레퍼런스를 찾아봐야겠군요)

서버에서 돌아가는 게시판 PHP 소스를 보니까 뜯어고쳐야할 것들이 많군요...ㅠㅠ
방학때라서 뜯어 고칠수 있지.. 학기중이였다면 안고쳤을 듯 합니다.

인증코드 소스부분이 뚫리게 작성되어 있으니 어떻게 고칠까 고민되군요.

GD를 이용해서 인증코드를 이미지로 만들어서 프로그래밍해야 하나? 먼산... 뜯어 고칠것이 한두곳이 아니네 -_-+

이 글과 관련있는 글을 자동검색한 결과입니다 [?]

by Ego君 | 2007/01/16 03:08 | 인터넷 | 트랙백 | 덧글(6)
트랙백 주소 : http://sungdh86.egloos.com/tb/2939405
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Commented by daybreaker at 2007/01/16 03:35
음... 랜덤 함수나 미리 정의된 특이한 단어 사전 같은 걸 같이 활용해보심이 어떨지요. 하지만 그런 퀴즈가 복잡해질수록 사용자에겐 불편하게 마련이니..;
그나저나 python은 언어 이름 아니던가요;;; 그걸 아이디로 쓰시는 선배분이 계신가 보군요.
Commented by 美妙 at 2007/01/16 03:48
그림으로 출력해orz...
Commented by object at 2007/01/16 05:48
http://minjang.egloos.com/460531

스팸 입력을 막기 위해서 입력해야하는 인증코드라면 대략 캡차와 같은 것이 되겠네요..
Commented by cypher at 2007/01/16 06:04
요즘엔 capcha 를 붙여도 그걸 인식하는-_-; 스팸봇도 있더군요.
발전되는 기술이 엉뚱하게 사용되고 있는 현실이 안타까울 따릅입니다.

개인적으로는 두 가지 방법을 사용합니다.
첫번째로, 저 아래에서도 잠깐 이야기했던 아스키 코드로만 된 글을 스팸으로
1차적으로 간주하는 것과, 글 내에 URL링크가 두개 이상 있을 경우도 스팸으로
간주합니다. 대략 이 경우 90% 이상은 차단되더군요.
Commented by Ssopi at 2007/01/16 14:04
있으나 마나한 인증코드...(?)
Commented by 박인규 at 2007/04/15 13:15
인증엇어게함?

:         :

:

비공개 덧글

< 이전페이지 다음페이지 >