포럼

안녕하세요~ zero입니다.

요즘 글을 많이 쓰네요. ^^

아무래도 개발자와 사용자 사이에 짧은 글로는 쉽게 전달이 되지 않는 내용들이 있기에 이렇게 많은 분들이 보시는 자유게시판에 글을 자주 적게 됩니다.

사용자분들이 오해하실 수 있는 스팸공동대응 API 에 대해 조금은 구체적이고 나름 편하게 알려드리고자 합니다.


먼저 스팸공동대응 API는 이름에 있는 "공동" 이라는 키워드로 시작된 프로젝트입니다.

현재 XpressEngine 뿐 아니라 기존의 제로보드에도 스팸글을 막기 위한 장치들이 있었습니다.

아시다시피 기존의 스팸글 등록을 막기 위해서는 요주의 단어들이나 반복적으로 스팸글을 남기는 IP 주소 혹은 글쓰는 시간 간격을 이용하여 대응하는 것이 대부분이였습니다.

이런 장치들의 공통점은 소 잃고 외양간 고치는 격이라는 것입니다.

그리고 단순한 방법들이기에 스팸 글자를 변형한다거나 유동 IP 주소를 쓰는등의 갈수록 지능적이고 악랄해지는 스패머들을 막기에는 힘이 부칠 수 밖에 없습니다.

저도 웹사이트를 10년 정도 운영했었고 그 동안 스팸 글들을 찾고 삭제하고 방어하기 위해 많은 시간을 소비하였었습니다.


결국 하나의 웹사이트 관리자 "혼자" 스팸에 대응하는 것은 늘 힘들 수 밖에 없고 사후약방문밖에 되지 않는다고 생각하였고 이를 "혼자"가 아닌 "다같이"로 바꾸게 되면 분명 달라질 수 있다고 생각하였습니다.

그리고 단순한 광고글을 쓰는 매우 소수의 스패머가 아닌 툴이나 봇프로그램을 이용하는 전문 스패머에게 대응하는 것이 더 중요하다고 생각하였었습니다.


만약 10만개의 웹사이트가 있고 이 웹사이트들이 스팸공동대응 API를 이용한다고 가정하면 이런 전문 스패머들에게 스팸 공격을 받는 곳이 꼭 있을 것입니다.

스팸이란게 사전 방어가 될 수 없기에 초기 몇 개 웹사이트는 공격을 당할 수 밖에 없지만 "다같이" 이용하는 스팸공동대응 API를 통해 스팸 신고를 하게 된다면 나머지 대부분의 웹사이트들은 사전 방어를 하는 것과 같이 될 수 있다고 생각하였습니다.

이렇게 웹사이트 운영자들이 합심하면 대부분의 웹사이트들은 사전 방어할 수 있다고 생각하여 시작한 것이 스팸공동대응API였습니다.


그런데 개발하다 보니 여러 상황에 대한 대처가 필요하지 않을까라는 생각이 들었습니다.

웹사이트들마다 서로 다른 스팸 정책을 가지고 있을텐데 이로 인해 불편해질 수 있지 않을까라는 의문이 생겼습니다.

예를 들어 어떤 웹사이트는 제품명이 등록되면 모두 스팸 처리하고자 하는 곳도 있을테고 어떤 곳은 제품명이 정보가 될 수도 있을텐데 하나의 기준으로 모든 웹사이트에 적용한다는 것은 문제가 있다고 생각하여 다양한 필터(XE를 예를 들면 모듈)를 통해 자신의 웹사이트에 적용하고자 하는 정책을 정할 수 있도록 하였습니다.


현재 스팸공동대응API에는 3개의 필터가 있습니다.


가장 기본적이며 적극적인 스팸 신고를 통해 점점 똑똑해지는 nScore가 그 첫번째입니다.

nScore는 스팸 신고가 되는 글들의 의미를 분석해서 스팸단어로 판단되는 것을 저장하고 이렇게 저장된 정보들이 많아질수록 유사한 스팸들도 막을 수 있는 기능을 가지고 있습니다.

nScore는 1~100까지의 스팸지수를 알려주며 100에 가까울수록 사용자들이 신고한 글과 유사하다는 것입니다.

10 이하의 경우는 거의 스팸이 아니라고 가정할 수 있습니다.


두번째는 스팸사전입니다.

스팸사전은 XE의 스팸필터에 있는 "특정 단어를 차단"하는 기능을 가집니다.

그런데 이 스팸사전의 경우 위에서 말씀드린 것처럼 각 웹사이트들마다 스팸 정책이 상이하기에 필요하면 만들어서 쓸 수 있도록 기능을 개발하였습니다.

즉 누구나 스팸 사전을 생성해서 원하는 스팸단어를 등록할 수 있습니다.

거기다가 이 스팸 사전은 다른 사용자들이 쓸 수 있게 혹은 다른 사용자들이 만든 사전을 내 웹사이트에 적용할 수 있도록 하였습니다.

신뢰할만한 곳에서 만든 스팸 사전을 공유하자는 의미였습니다.


세번째는 최근에 개발된 외국어 스팸 필터입니다.

당하신 분들도 많으실텐데 중국어, 러시아어, 영어등으로된 외국 스팸 봇들은 정말 많은 스팸글/ 스팸댓글을 등록합니다.

(며칠전에도 XE공식 웹사이트에서 수백개의 스팸댓글을 삭제하였었습니다 ㅡ.ㅜ)

스팸공동대응 API가 등록되어 사용중인 언론사들의 경우 이 외국 스팸 봇들에 의한 폐해가 무척 큽니다.


최근 현재까지 개발된 3개의 필터중 스팸 사전, 외국어 스팸 필터에 의해 원치 않는 피해를 입으신 분들이 계십니다.


이에 대해 말씀드리자면 스팸 사전의 경우 해당 사전을 만든 웹사이트 관리 정책에 따라 일반적으로 통용될 수 있는 단어들도 포함될 수 있습니다.

예를 들어 어떤 스팸사전은 그 웹사이트에 "어른" 이라는 단어가 주요 키워드로 포함된 스팸글이 많이 등록 시도되어 "어른" 이라는 일반 단어를 스팸 사전에 등록할 수도 있습니다.

그런데 이런 단어는 일반적으로 스팸 키워드에 포함되면 안되는 것이지만 그 웹사이트에서는 충분히 효과를 볼 수 있는 것입니다.

그리고 지금 스팸공동대응API 에 등록되어 공유되는 스팸사전에는 클로즈베타때 테스트용으로 제작된 것들도 있습니다.

오픈베타가 끝날때쯤이면 보다 좋은 스팸사전들이 공유될 수 있겠지만 현재로서는 직접 스팸사전을 만들어서 연동하시는 것을 권해드립니다.


그리고 외국어 스팸 필터는 위에 설명드린 것처럼 외국 스팸 봇들을 막기 위한 것입니다.

이에 대한 설명이 모자람을 지적받고 보다 자세히 설명이 되도록 내용 수정할 예정입니다.

또한 외국어 스팸 샘플들을 분석하여 글자수라든지 행태에 따라 거를 수 있도록 개선중입니다.


아직 스팸공동대응API는 오픈 베타로 개발중이라 불안정할 수도 있고 제대로 설명되지 못하여 불편하실 수도 있습니다.

지금 담당 개발자가 열심히 개선을 위해 노력중이며 불충분한 설명도 보강하기 위해 준비하고 있습니다.


스팸사전은 직접 만들어 쓰시는 것이 더 효과적이고 외국어 스팸필터는 외국 스팸 봇에 의해 피해를 많이 받으시는 분들이 사용하시면 효과적일 것입니다.

기본적으로 nScore 만을 이용하셔도 소정의 효과를 얻으실 수 있으리라 생각합니다.


스팸공동대응API는 많은 분들이 참여하면 할 수록 더 좋은 결과를 낼 수 있는만큼 많은 관심과 애정 부탁드립니다.

혹시 기능 개선을 제안하시거나 오동작한다고 생각되는 부분들이 있으시면 http://coantispam.xpressengine.net/ 에 의견 남겨주시면 매우 고맙겠습니다.


참고로 스팸공동대응API 자체는 XE와 상관이 없고 XE의 아이디차단/글삭제/보관/복구등의 기능은 스팸공동대응API를 이용하여 XE에서 필요한 기능들로 꾸민것입니다.

다만 위 스팸공동대응API XE 프로젝트에 스팸공동대응API에 대한 의견을 남겨주셔도 경청하고 더 좋아질 수 있도록 노력하겠습니다.


더 궁금하신 내용은 댓글 달아주시면 답변 드리겠습니다.


늘 고맙습니다.

글쓴이 제목 최종 글
ForHanbi 지금 레이아웃에서 사용하는 h1 IR기법에 대해 정찬명님께 질문드립니다. [2] 2011.01.13 by ForHanbi
misol 프로젝트 모듈 수정해주세요.. [1] 2011.01.13 by XE Developers
카르마 새로운 템플레이트 문법의 문제 [2] 2011.01.13 by XE Developers
카르마 개발 및 테스트 환경 [2] 2011.01.12 by 현원
SMaker 아직 모바일 기능이 부족하지 않나 생각해봅니다. [6] 2011.01.11 by 트루퍼
misol 언어번역 요청 게시판 괜찮네요 ㅋㅋㅋ  
규지니 모듈개발 문서는 없는지요? [4] 2011.01.11 by 규지니
zero 에고.. 이제 서비스 안정화되었습니다. [12] 2011.01.11 by 999
씨지 API 확장에서 module.xml 는 어떻게 상속시키나요? [4] 2011.01.10 by 씨지
현원 오호 이런 곳이 있었군요  
Garon 약간의 아이디어~ [3] 2011.01.08 by kantsoft
러키군 개발뿐만 아니라 프로젝트와 관련된 메뉴얼도 필요합니다. [2] 2011.01.08 by 999
라르게덴 이슈트래커가 토론으로 이어질 수 있도록 되었으면 좋겠습니다.  
fsfsdas 왜 아직 아무런 글이 없을까요? [2] 2011.01.08 by zero
Treasurej 좋습니다.^^ [1] 2011.01.08 by zero
정찬명 XE Core 1.4.4 새 템플릿 문법을 소개합니다. 간결+판독. [9] 2011.01.05 by likesam.myid.net
정찬명 XE 새 템플릿 문법으로 원하는 위치(head, body)에 JS 선언하기. [4] 2011.01.05 by likesam.myid.net
행복한고니 XEED 수정 사항 테스트 부탁드립니다. [29] 2011.01.02 by 유샤인
sol xe.1.4.4.2.changed.tgz 파일 재업로드 하였습니다. [6] 2010.12.01 by 바라트
zero 스팸공동대응 API에 대해 자세히 알려드리려 합니다. [6] 2010.11.26 by XE Developers