포럼
스팸공동대응 API에 대해 자세히 알려드리려 합니다.
2010.11.25 16:15
안녕하세요~ 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에 대한 의견을 남겨주셔도 경청하고 더 좋아질 수 있도록 노력하겠습니다.
더 궁금하신 내용은 댓글 달아주시면 답변 드리겠습니다.
늘 고맙습니다.
댓글 6
-
제이엔지
2010.11.25 16:20
-
바라트
2010.11.25 17:58
제로님!!~~~~ 안녕하세요^^
projectXE 영문으로 운영할수 있도록 해 주세요^^
영문이 정확하지 않아도 대충비슷하고 뜻(의미)만 개발자들이 이해만 할수 있으면 됩니다.
건강하세요^^
-
불패의초인
2010.11.25 18:01
전 설명이 참 짧은걸 좋아하는뎅.... 뭐 나쁘든 좋든 ......... 설마 나쁜거 만드셨겠어요?!
전 다 좋아용~~~~~~~~~~
제가 생각하는건... 혼자 스팸단어를 가지고 있는것보다 여러사람이 스팸단어를 같이 공유하는거라서 그래서 좋다
라고 생각이 되는데 맞나요~?
-
무조건친절
2010.11.25 19:33
만드신 의도는 좋으나 현재 스팸공동대응 사용.. 심각합니다.
스팸성 글도 아닌걸 정지시켜버리고 이게 수백명 수천명에 이릅니다.
다시 원래대로 돌릴수도없고.. 수동으로 풀어주고있는데 ㅡㅡ;
이거 적용하시는분들 충분한 테스트를 하시고 적용하시는게 좋을것같습니다.
전 안정화 되면 이거 쓰려고합니다..
아참그리고 스팸공동대응 서버에 부하주는지 안주는지는 모르겠지만 속도 많이느려졌습니다.
실제로 떼고 안떼고 해보시길 바랍니당.. 확실히 차이납니다.
여튼간 스팸공동대응이 제가 말한부분만 개선되서 나온다면 진짜 대단한 프로그램이 될것같네요.. 고생하십니다.
XE 파이팅~
-
XE Developers
2010.11.25 22:37
네 지적해주신 그 부분에 대해서 현재 XE 개발과 스팸공동대응 API개발 진들이 열심히 수정하고 개발 진행 중에 있습니다.
현재는 아이디정지 관련된 이슈는해결된 상태입니다.
감사합니다.
-
XE Developers
2010.11.25 22:36
현재는 아이디정지를 100점으로 셋팅해놓으시면 사전필터와 외국어스팸필터에서 스팸성 글로 판단이 되어도 더 이상 아이디가 정지되는 일이 발생되지 않도록 조치하였습니다. 댓글 차단 점수 셋팅(목록 삭제 후 보관)은 40~60점 정도로 설정을 사이트의 환경에 맞게 설정하시면 됩니다.
스팸공동대응 API는 운영하시는 서버에 부하를 주지 않습니다. 항상 연결되는 것이 아닌 게시글을 올릴 때만 연결 시도하며
http 프로토콜을 사용하기 때문에 운영하시는 서버에 부하를 주는 구조가 아닙니다.
스팸공동대응 API의 서버에 이상이 생기게 되면 무조건 0점을 리턴하여 대기시간이 걸리지 않는 구조이기도 합니다.
스팸공동대응 API는 함께 사용하자는 의미도 있지만 함께 만들어가자는 의미 또한 있다고 생각합니다.
많은 이슈를 기분 좋게 제시해주셔서 함께 좋은 프로그램으로 만들어나갔으면 합니다. (사실 많은 이슈가 있으면 안되는거군요 ^^)
문의가 있으시면 언제든지 스팸공동대응 API에 문의해주세요 ^^
제로님 요즘 자주 보이셔서 저는 정말 좋네요.
더욱 반갑구 기쁘기만 해요.