2008/03/13 11:40
한글 스팸 답글 처리
요새 글도 안 쓰고 답글도 잘 안달고 해서 블로그에 아무 일도 안 일어날 줄 알았는데, 엊그제 보니 스팸이 잔뜩 달려 있더군요. 그때는 몇 개 안되길래 손으로 삭제하고 필터에 추가해놨는데, 오늘 아침에 와보니 그런 스팸이 끝도 없이 달려 있었습니다. 나중에 세어 보니 7101개였는데, 처음에는 '손으로 지우지 뭐' 했다가 손으로 지울 수 없는 양이라는 것을 판단하는데는 약 5분 정도가 걸렸습니다.
전에 다른 사이트에서 본 적이 있는 이번 스팸 패턴은 내용이 한글이라는 점입니다. 해외 사이트에서 스팸을 달 때 영문으로만 이루어져 있다는 점에 착안, 영문으로만 이루어진 글을 차단하는 식으로 스팸을 차단해 왔는데, 이번에는 스팸 문자열에 번역기를 돌려 나온 한글 문자열로 스팸을 다는 통에 스팸 필터를 통과한 거라고 생각됩니다. 읽어보기 전에는 스팸인지 아닌지 알 수 없고, 스팸 필터나 스팸 처리 프로그램은 한글을 읽을 수 없기 때문에, 누군가 묘안을 생각해내기 전에는 스팸을 처리하기 힘들어 보입니다.
그렇다고 스팸이 쌓인 채로 놔두면 그렇잖아도 글 안 올리는 블로그가 완전 깨진 창문처럼 보일까봐 스팸을 어떻게 지울까 하다가 기왕에 사람 손으로 못 지우면 기계더러지우라고 하자 싶어서 기계에 내릴 명령문을 만들었습니다. 원리는 간단한데, 스팸은 일정 시간대에 집중적으로 날아오기 때문에 특정 시간대 이후에 날아온 모든 답글을 스팸으로 처리하기로 했습니다. 예를 들어, 제 블로그에는 한 3월 10일 이후에는 답글이 안 달렸기 때문에 그 후에 날아온 모든 답글을 스팸이라고 간주하자는 거지요.
그래서, 지정한 시간 이후에 날아온 답글을 모두 스팸으로 처리하면서, 이 글에 쓰인 이름, 홈페이지 주소, 아이피를 함께 차단합니다. 이번 스팸의 특징 중 하나는 수펀개의 각기 다른 아이피에서 날아온다는 점인데, 이 아이피를 모두 차단하다가는 전 세계의 아이피를 모두 차단하는게 아닌가 하는 생각이 들지만, 스팸을 삭제하며 세월을 보내느니 그냥 답글 없이 혼자 살겠습니다.
스팸을 삭제하는 방법은 아래 첨부한 파일을 다운로드한 다음, 파일을 열어 내용을 수정합니다. 텍스트큐브 1.6에서 테스트했지만 데이터베이스 정보를 제외하고는 텍스트큐브 자체에 의존성이 없기 때문에 웬만한 버전에선 다 돌아갈 겁니다. 파일을 열어서 파일 안에 적힌 대로 수정한 다음, 텍스트큐브가 설치된 디렉토리에 넣고 브라우저로 실행하면 됩니다. 제 경우에는 7천여개의 스팸을 모두 처리하는데 몇십초 정도 걸렸습니다. 그리고, 실행한 다음에는 파일을 계정에서 지워 주세요. 계속해서 실행하다간 멀쩡한 답글까지 날려버릴 수 있습니다.
... 그건 그렇고, 스패머들의 솜씨 참 대단합니다. 요새는 캡챠를 인력 노가다로 읽어내거나, 완전 꼬여서 사람도 알아보기 빡쎈 캡챠를 읽어내는 프로그램 같은게 나오는 세상에, 스팸을 올리려는 해당 사이트의 로컬 언어로 번역기까지 돌려 주는 센스. :)
spam.zip