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에서 가로로 잘려보이는 경우가 있어서이다.
댓글 쓸 때 한글을 입력하지 않으면 안되게 됐다.
이로써 외국발 스팸 공격을 막을 수 있을까?


댓글
5 comments posted스팸때문에 고민이 많으시네요. 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님. 자세한 설명 감사합니다!
드디어 적용했습니다. 사실은 예전에 말씀해주신 것을 기억하기 하는데,
어떤 스팸방지책인지 전혀 감을 잡지 못하고 있었습니다. (애고 모르면 몸이 고생이라더니)
덕분에 이렇게 광범위하고 진보적인 스팸방지책을 접하게 됐군요. 감사합니다!
kldp에도 써 두었는데요...
CAPTCHA 의 단점을 보완하는 방법이 몇 가지 있습니다.
http://palpal.org/drupal/node/215
http://palpal.org/drupal/ko/node/140#comment-69
에서 참고했는데
1. 캡챠에 한글 폰트를 이용하는 방법
2. httpbl 모듈을 이용하는 방법
3. MyCaptcha를 이용하는 방법
이 있네요.
2번과 3번을 동시에 사용하면 거의 확실하게 잡을 수 있다고 합니다.
reCAPTCHA에 관한 동영상 설명자료가 있어서 링크해 봅니다.
http://boldsource.com/tutorials
gulim.ttc 폰트는 용량이 너무 크고, ttf 폰트 4개를 합쳐서 ttc라고 묶은 것이니,
굴림 폰트(gulim.ttc)를 리네임(gulim.ttf)하는 것보다는 나눔고딕 같은 폰트를 올리는 것이 좋을 같습니다. 저작권 문제도 자유롭고요.
www.debians.org 에 한글 캡챠를 적용해 봤는데 재밌네요.