XE 공식 자료실

제작자
AJKJ
등록일
2014-05-16
다운로드 수
92
링크1
www.google.com/recaptcha/mailhide/d?k=017FKN_MgvZO7XBQxhS8_zBA==&c=Hm0EZCM5NsebuaG6AZfMW3mO6pgeWI99oETIJHPu49wAs1RXxJ8GmFZkGj4OC0T4

dynamic form 폼 생성을 통한 스팸방지 애드온입니다.
어려운 CAPTCHA 같은, 사용자의 불편없이 스팸봇에 의한 글/댓글/회원가입을 차단해줍니다.

라이선스
LGPL v2
설치경로
./addons/dyform_no_spam
최초 등록일
2014-05-11
전체 다운로드
4,717
체험하기

쉬운설치로 바로 체험할 수 있습니다

상세 설명

- 주요사항 -
dyform_nospam 스팸방지 애드온입니다.
동적 폼생성 (Dynamic FORM)을 이용하여 스팸을 차단(nospam)하는 애드온 입니다.
ver0.2에서 개선된점은, 회원가입 뿐만이 아니라, 글과 댓글 스팸까지 차단해 줍니다.

참고 : ver0.3 문제가 있어서 수정해서 재업했습니다. 2014년 5월 16일 오전 1시 00분 이전에 다운받으신분은 다시 다운로드 부탁드립니다.
(크롬에서 일부 레이아웃이 깨지는 문제가 있어서 수정하였고, regualr expression 을 case insensitive 하게 바꾸어서 일부 대소문자로 문제가 생기는 경우를 해결했습니다. )


- 간단 개요 -
dynamic form 생성을 통하여 JS/CSS를 해석하지 못하는 스팸봇의 자동화된 회원가입을 방지해줍니다.
스팸봇에게는 404 error 페이지를 보여줍니다.

- 상세 원리 -
이 애드온의 원리와 스팸차단의 전제 조건과 원리는 다음과 같습니다.
- 스팸봇은 javascript를 해석하고, 실행하지 못한다.(즉 DOM을 만들고 해석하지 못한다)
- 스팸봇은 단순히 HTTP 패킷을 만들어서 서버로 보내는것 뿐이다.
- 스팸봇은 CSS를 해석하지 못한다.

따라 dyform_nospam ver 0.3은 다음과 같이 작동합니다.
1. <form> tag중에서 request method가 post인 form에 한해 다음과 같은 <input> form 2개를 javascript를 이용하여 삽입해 줍니다. (단 이 애드온에서는 조금더 약간 꼬아서 삽입합니다.)
<input type="hidden" value="any_string" name="any_name1"/>
<input type="text" value="" name="any_name2" class="any_class"/>

2. name과 value에는 session_id와 연계된 랜덤값을 자동으로 집어넣습니다. 그리고 css를 통하여 any_name2가 보이지 않도록 처리해줍니다. 참고로 해당값을 추측하는것은 사실상 불가능합니다.

3. 위와같이 처리하면, 웹브라우저(PC/모바일)에서 글을 작성할때 저 form값 2개도 같이 날라올 것이며, 회원가입/글작성/댓글작성시에 우선적으로 저 2개의 값을 검증하여 스팸봇을 검증합니다.

3-1) any_name1에 정상적으로 값(any_string)이 들어갔나 체크합니다.
(스팸봇은 자바스크립트 실행을 못하기에 아마 저 input 자체가 같이 들어오지 않았을 겁니다. 값이 변조되거나 비어있는채로 왔다면 행동을 차단시킵니다.)

3-1)스팸봇은 입력할 수 있는 모든 input값(type=text)을 채우려 할것입니다. 위의 경우에서도 any_name2에도 어떠한 값을 채우려 하겠지요. 그러나 any_name2는 CSS 때문에 보이지 않기에 정상적인 사용자라면 입력을 하지 못하고 그냥 폼을 보내야겠지요. 한편 스팸봇은 CSS를 해석하지 못하기에, any_name2에도 임의의 값을 채울것이고, 만약 임의의 값이 들어가 있다면(비어있지 않다면) 글쓰기를 차단시킵니다.

- CAPTCHA 그리고 dyform_nospam -
CAPTCHA와 이 애드온을 병행하여 사용하셔도 되고, CAPTCHA 없이 이 애드온만 사용하셔도 됩니다. 사용자가 많지 않은 사이트라면, 이 애드온만 사용하셔도 충분하지 않을까 생각합니다.참고로 저의 경우 애드온 설치전에는 매일 매일 스팸봇에 의한 회원가입이 되어서 Captcha로 차단하였으나, 애드온을 설치한 뒤에는 CAPTCHA 가 없어도, 스팸봇이 더이상 가입하지 못하고 있습니다.

- 애드온이 정상적으로 작동하는지 확인하는 방법 -
파이어폭스나 크롬의 개발자 도구를 사용하여 직접 폼을 변조하신후 테스트 해보세요.

- 참고 -
스팸봇에 의한 자동화된 스팸만 방어가 가능합니다. 사람이 직접 올리거나 고도의 스팸봇이 올리는 스팸글 까지는 차단이 불가능합니다.

- 라이센스 -
비상업적 목적에 한해 LGPLv2

- 문의처 -

포럼 0

로그인 후 작성할 수 있습니다.