스팸을 막기위한 노력 네번째

블로그 통계 플러그인을 통해서 상습적인 스패머를 알아내어 막는 방법을 소개합니다. 기본적으로는 akismet이나 bad behavior 플러그인이 거의 모든 스팸을 걸러낼 수 있습니다. 그러니, 스팸이 너무 많아서 도저히 안되겠다 싶은 분들께서만 적용해 보시기 바랍니다.^^;

우선, 아래 소개된 내용은 방문객의 아이피를 차단하는것으로 잘못 스패머 아이피로 등록했을 경우 상당히 난감한 상황에 처할 수 있습니다. 이는 정말로 주의를 요하는 과정임을 알아두시길 바랍니다.

1. 상습 스팸 등록 아이피 알아내기

1-1. Wp-SlimStat-Ex를 통해 알아보기.
  • wp-slimstat-ex-pins.zip파일에 포함되어있는(1.1판 이후) miscellaneous-pin.zip의 압축을 풀어 나오는 SS_ETC폴더를 wp-slimstat-ex/pins 폴더에 넣으세요.
  • Options > SlimStat 화면에서 “Miscellaneous”를 활성화(activate)시키세요.
  • SlimStat 페이지에서 Miscellaneous패널로 이동하면 “Top Comment Spam IP”와 “Top Spam Trackback IP”모듈이 보입니다.
  • 특정 기간내의 결과를 보고싶으시다면 상단의 “Today(오늘)”, “Yesterday(어제)”등의 링크를 누르면 그 기간내의 결과를 보여줍니다.
  • Pin을 »

    • 우선 Details(자세히)패널로 이동합니다.
    • 검색어에 “/wp-comments-post.php“를 입력하고, 검색조건에 “Resource(읽은글)“, “Substring(포함한 문자)“를 선택한뒤 검색하세요
    • 검색결과 중에서 Top Visitors(방문객 통계)모듈에서 눈에 띄게 많은 횟수의 댓글 달기 시도를 한 아이피를 확인하세요.
    • 새창(탭)을 열어 워드프레스의 관리자화면(wp-admin)>관리(Manage)>댓글(Comments) 화면으로 이동합니다.
    • 위에서 확인한 아이피들을 차례로 검색해 보세요.
    • 검색결과에 아무것도 나타나지 않는다면 댓글 등록을 시도했으나, Bad Behavior와 같은 플러그인에 막혔거나 Akismet에서 스팸으로 분류되어 정상적으로 댓글 등록되지 않았다는 것이겠죠? 하지만 검색결과에 등록된 댓글들이 나타난다면 블로그에 많은 의견을 남겨준 고마운 방문객입니다.
    • 2번째 과정에서 Permalinks(고정주소)설정에서 Defalut(기본)주소를 사용하지 않을 경우 “/trackback“으로 기본 주소를 사용할 경우 “/wp-trackback.php“로 검색하신뒤 나머지 과정을 거쳐서 트랙백 스패머의 아이피를 알아낼 수 있습니다.

[spoiler2 ‘phase”다른 통계플러그인을 사용중일 때 방법 보기”다시 감추기’]

1-2. 다른 통계 플러그인을 사용중일때
  • 가장 많이 사용하는 Wp-ShortStat을 예로 들겠습니다
  • 호스팅 업체에서 제공하거나 직접 설치한 phpmyadmin에 접속합니다.
  • 아래의 쿼리문을 실행해 봅니다. 주의! `wp__ss_stats` 에서 테이블 접두사 “wp_“는 자신의 블로그에 맞게 입력하세요.
  • 2-1-2. 블로그(사이트) 접속 자체를 막기
    블로그 접속 자체를 막는 방법은 스패머가 정말 확실할때만 사용하세요. 글 등록만을 막는것 만으로도 스팸은 막을 수 있습니다.
    .htaccess 파일의 윗부분에 등록만 막을때와 같은 내용을 입력하되, 부분을 로 바꿔서 넣으면 됩니다.(잘못적어서 수정했습니다)
2-2. PHP를 이용한 방법
  • 호스팅 서버에서 mod_rewrite를 지원하지 않아 AllowOveride 옵션과 관련해서 “.htaccess를 이용한 방법”을 적용 할 수 없는 분들께서는 대안으로서 워드프레스 파일을 수정하는 방법을 적용하세요. 이미 위에서 .htaccess를 수정해 적용하신 분이라면 이 과정은 필요치 않습니다.
  • 2-2-1. 댓글 등록만 막기
    • 워드프레스 설치폴더 최상단에 있는 wp-comments-post.php파일의 맨 위에 아래 내용을 추가합니다.주의! (admin at mydomain.com) 부분에는 자신의 메일주소를 적어야 합니다.
    • 한글을 사용하려면 파일을 utf-8로 저장해야 하기 때문에 위 예제에서 오류문구를 영어로 적었습니다. 파일을 utf-8로 저장할 환경이 되시는 분께서는 한글로 오류문구를 작성하셔도 됩니다.
  • 2-2-2. 블로그(사이트) 접속 자체를 막기
    • 블로그 접속 자체를 막아버리면 실수로 스패머가 아닌 아이피를 입력했을경우 난감한 상황이 발생할 수 있습니다. 상당히 주의 하셔야 합니다. 스패머 IP가 확실하다고 판단되는 경우에만 적용하세요.
    • 방법은 사용중인 테마의 header.php파일 맨 윗부분에 위 “댓글 등록만 막기”와 같은 코드를 추가하는 것입니다.

사실… 방법을 공개하면서도 어딘지 개운치 않네요. PHP나 .htaccess파일이 생소한 분들께서는 이 방법이 아닌 다른 방법을 이용하시길 바랍니다.

헛, 082net.com이 스팸주소?

얼마전부터 제가 등록한 댓글이 akismet에서 스팸으로 분류되는군요. 그렇게나 스팸에 대해서 민감하게 반응해온 저에게, 제 자신이 스패머 :???:가 되어버린 기분은 참… 묘하네요.

얼마동안 기다리면 제가 등록한 댓글을 스팸이 아닌걸로 처리해주시는 블로거분들 덕분에 akismet 시스템에서 제외될거라고 생각했는데, 몇주(근..한달)을 기다려도 여전히 등록과 동시에 사라져버리는 제 댓글들…-_-;

결국 영한(한영)사전끼고 akismet에 메일을 보냈습니다. 잘못하다가는 한동안 계속 제 댓글을 스팸에서 빼내는 귀찮음을 제가 댓글을 다는 블로그의 운영자분들께서 감수하셔야 할 지도 모르겠네요.:|(설마… 메일도 보냈으니 제외 되겠죠 :???:)

추가: 역시 메일 보내는게 빠른가 봅니다. 이제 제 댓글이 스팸으로 분류되지 않네요:)

스팸 신기술이 등장했나 보군요…

이런 저런 스팸방지책을 쓰고 있슴에도 불구하고 요즘 부쩍 스팸이 늘어만 가는군요.
아이피도 일정치 않고, User_Agent에서도 수상한 부분을 찾을 수 없고, 프로토콜도 모두 HTTP/1.1이고… 확실히 그 페이지에서 스팸글을 등록하고 있고….. 거참.. 막을 방법이 없는건가요..그럼?

사실 정말 스팸 많으들어오는 블로그에 비하면 그다지 스팸이 많이 들어오는건 아니겠지만… 성격상 그러한 시도를 이 블로그에서 했다는 것 자체가 싫습니다… (제가 좀 민감한걸지도…-_-;)

capcha플러그인을 쓰면 좀 낳을것 같기는 한데…. 그건 저 자신조차도 달갑지 않게 여기는 방법이라 내키지 않고…. 흠…. 음….조만간 전세계의 멋진 블로거들이 방지책 개발하겠죠….뭐.. 그때까지 좀 기다려 보렵니다 ;?:

스팸을 막기위한 노력 세번째

스패머들의 “User Agent” 목록을 보여주는 페이지가 있군요. 비교적 최근의 것들이네요. 블로그 자체가 스팸 대책에대한 내용을 다루고 있으니 다른 글들도 읽어보시면 도움이 될 듯 합니다.(저는 귀찮아서 “나중에…” 하고 있습니다만… ^^;)

http://willmacc.wordpress.com/htaccess-enviroment/
사이트 주소가 바뀌었더군요… http://www.a-daily-rant.com/htaccess-enviroments/setenvif-user-agent/
이 주소도 사라졌더군요…
http://www.askapache.com/htaccess/fight-blog-spam-with-apache.html

위 페이지의 관련 내용을 .htaccess 파일의 “# BEGIN WordPress” 윗쪽에 붙여넣기만 하면 됩니다.

주의: 따옴표를 모두 " 로 바꿔주셔야 합니다.

추가: 위 페이지의 내용중 “DA”부분을 제외 하시는게 좋겠습니다. 이게 대문자 소문자 구분없이 무조건 중간에 “da”만 들어가면 막아버린다는..-_-;