Captcha 를 이용한 스팸 댓글 방지책 - 한글 폰트를 이용해 보자.

Captcha 를 이용한 스팸 댓글 방지책 - 한글 폰트를 이용해 보자.

외국어로 된 댓글 스팸 공격이 너무 심하다.
Captcha도 MyCaptcha모듈도 둘 다 공격을 받는다.
그렇다고 댓글을 매번 관리자 확인후 공개할 수도 없고...
영어 댓글과 막아내는 방법을 고민해 보았다.

우선 주된 댓글 스팸 문구를 분석해 보았다.
"He lost his arms"라는 내용의 광고성 스팸이다.
이 녀석은 예전에도 많았는데 이미지 Captcha를 어떻게 통과하는지 신기하다.
아마도 1. 이미지 Captcha를 분석해서 통과? 아니면 랜덤하게 연속 입력?
2. 어쩌면 치명적이게도 Captcha모듈들의 약점을 이용하는 것일까?
어찌됐던 1번 원인이라면 아래와 같은 한글 폰트를 이용해서 영미권의
스팸공격을 원천적으로 봉쇄하려고 한다(설마 외국 스팸로봇이 한글을 입력하랴?).

[드루팔에서 Captcha 확인 문구에 한글을 입력받도록 하는 법]

굴림 폰트(gulim.ttc)를 리네임(gulim.ttf)해서
modules/captcha/image_captcha/fonts/
에 집어 넣고 CAPTCHA 입력 문구에는
한글로 "그느드르므브스으즈츠"를 입력해 두었다.

특별히 "가나다라..."가 아닌 이유는 이미지 한글 문자가
Captcha에서 가로로 잘려보이는 경우가 있어서이다.

댓글 쓸 때 한글을 입력하지 않으면 안되게 됐다.
이로써 외국발 스팸 공격을 막을 수 있을까?

댓글

스팸때문에 고민이

스팸때문에 고민이 많으시네요. drupal로 홈페이지를 운영할때엔 captcha, mycaptcha둘다 뚫린적은 없는데 세션을 이용해 이것저것 시도해보는 녀석들은 많이 있더군요. 요즘엔 어떤지 모르겠네요. 전에 말씀드렸었던 http:BL을 이용해보시는것이 어떨까요? drupal 모듈을 사용할수도 있고 또는 별도의 php파일을 include하는 방법도 있습니다. 현재는 서버차원에서 확실히 스팸을 보낸 적이 있는 아이피를 선별해 접속을 차단해버리고 있습니다. drupal 모듈 http://drupal.org/project/httpbl 별도 스크립트 http://planetozh.com/blog/my-projects/honey-pot-httpbl-simple-php-script/

EcusE님. 자세한 설명

EcusE님. 자세한 설명 감사합니다!
드디어 적용했습니다. 사실은 예전에 말씀해주신 것을 기억하기 하는데,
어떤 스팸방지책인지 전혀 감을 잡지 못하고 있었습니다. (애고 모르면 몸이 고생이라더니)
덕분에 이렇게 광범위하고 진보적인 스팸방지책을 접하게 됐군요. 감사합니다!