워드프레스에서 영문 스팸 방어하기


워드프레스 사용자들이 겪는 가장 큰 고생 중의 하나는 아마도 영문 스팸의 무차별 공격일 것이다. 나의 경우에도 하루에 수십, 수백 건의 스팸 공격에 시달리고 있는데, 대부분은 스팸 방어 설정에 의하여 차단되고 있다. 즉, 워드프레스 설정상 스팸으로 의심되는 낱말이 포함되어 있으면 그것의 승인을 보류하거나 아예 스팸으로 분류하는 방식으로 스팸을 방어하고 있었다. (때로는 이 방어조치 때문에 정상적인 답글이 스팸으로 분류되는 경우가 발생하기도 한다. 그런 분들께 이 자리를 빌어 죄송하다는 말씀을 드린다.)

그러나 워드프레스는 스팸으로 분류된 답글의 등록 자체를 차단하는 것이 아니라 일단 등록은 받아들이되 블로그에는 전혀 노출시키지 않는 방식을 취한다. 다시 말해, 스팸으로 분류된 답글은 곧장 데이타베이스로 직행하여 저장되고, 블로그 뿐만 아니라 블로그 운영자 페이지에도 노출이 되지 않는다. 그래서 무심코 지내다가 오랜만에 데이타베이스를 들여다보면 wp_comments 레코드에 어마어마한 스팸 의견이 쌓여 있는 것을 발견하게 된다.

이 스팸을 한꺼번에 삭제하려면, 다음과 같은 SQL 명령어를 사용하면 된다. 이와 관련한 좀 더 자세한 내용은 @hof 블로그를 참고하기 바란다.

DELETE FROM wp_comments WHERE comment_approved LIKE “spam”;

그러나 위와 같은 식으로 스팸을 방어하는 방식은 데이타베이스에 저장된 스팸을 삭제하는 수작업을 정기적으로 해야 하는 번거로움이 있다. 그래서 스팸의 등록 자체를 아예 원천적으로 차단하는 방법, 즉 데이타베이스에도 저장되지 않게 하는 방법을 고민할 수밖에 없는데, 이와 관련한 플러그인이 있다.

DieOnSpam은 기존의 일반적인 스팸 방어 플러그인과는 달리 로마자 알파벳을 쓰지 않는 언어권 사용자들을 위한 플러그인이다. 즉, 대부분의 스팸이 영문 스팸인 점에 착안하여 작성된 것으로서, 첫 글자가 영문자나 숫자(정확히는 ascii 문자)로 시작되는 답글은 스팸으로 간주하여 등록 자체를 원천적으로 차단하는 것이다. 그러므로 이 플러그인은 로마자 알파벳을 사용하는 언어권의 답글이 전혀 불필요한 사용자들, 그러니까 ascii 문자 이외의 언어를 사용하는 블로거에게만 유용한 것이다. 이 플러그인에 대한 우리말 소개는 FineApple’s LifeLOG를 참고하기 바란다.
 

공지: 이번에 데이타베이스에 쌓인 스팸들을 삭제하면서 실수로 본의 아니게 일부 의견들이 삭제되고 말았습니다. 관련된 분들은 양해해 주시기를 바랍니다.


이 글은 2007년 06월 02일에 작성되어 컴퓨터·웹(으)로 분류되었습니다.

RSS로 이 글의 댓글을 구독하실 수 있으며 TrackBack으로 댓글을 쓰실 수도 있습니다.

태그: ,



댓글남기기