2005/12/20

NeverSpam 적용을 위한 자바스크립트 및 Anchor

---> 이메일 확인을 위한 페이지(HTML)에 삽입(ex. 방명록 리스트, 게시판 세부 화면)
<script language="'javascript'">
function AntiSpam(id) {
window.open('./antispamin.php?UniqId='+id,'AntiSpam','width=180,height=263,left=1,top=1');
}
</script>

---> 이메일이 보였던 곳에 삽입(ex. 방명록 리스트 안의 실제 이메일 링크)
<a href="'javascript:AntiSpam($Id)'">추출방지</a>

/----------------------------------------------------------------
JavaScript 인자 id는 이메일이 있는 테이블(방명록 테이블)에서
넘어온 게시물을 확인시켜주고자 하는 것이다.
예) table description
id     name     subject                 email
1     이상호     소은씨만 봐요     search5@gmail.com

이라고 한다면 방명록 리스트에선 1이라는 id 값이 넘어올 것이다. 물론 이때의 1은 방명록
리스트에서 각 게시물의 고유한 아이디로서 다중 게시판을 사용할 경우 게시판 ID도 포함할 수 있으며 email 을 확인하기 위한 고유의 게시물 아이디등을 추가할 수 있다.
-----------------------------------------------------------------/

NeverSpam은 크게 2가지의 실행 방식을 제공하는데 gd 방식을 추천한다. exe 방식은 외부에 보안문제를 일으킬 수 있기 때문이다.

다중 보드일 경우 (gd)antispamin.php에 넘길 UniqID 값은 기본적으로 하나이며, 이 값에 추가로 덧붙이지 않고 다른 변수를 하나 더 추가해서 넘기고 (gd)antispamout.php에서 uniqid 는 신경쓰지 않고 $Email에 값을 집어넣는 곳에서는 UniqID 및 추가로 넘긴 값을 DB로 쿼리를 던져 값을 얻어온다.

네버스팸 프로그램은 http://www.neverspam.or.kr 에서 얻을 수 있다.

ps.. > 네버스팸은 아직까지도 베타이며 ASP, PHP, JSP, Perl 버전으로 제작되어 있다. 파이썬 버전이 없고, 프로그램은 구조화가 잘 되어 있지 않기 때문에 Class 를 이용하는 프로그램에선 면밀히 분석해서 클래스를 제작해서 구현해야 할 것이다. 나 역시 클래스 버전으로 재포팅을 생각해보고 있다.(이렇게 해서 쓰고 있는 라이브러리가 있다.)

네버스팸 프로그램에선 크게 5개의 함수와 중복된 함수(내용은 다르다) 2개가 있는데, 이중 4개의 함수는 공통적으로 쓰인다.
공통 함수명 : IpTest(), BlockIpRelease(), BlockIf(), BlockIpList()
(gd)antispamin.php 에서만 쓰는 함수명 : DelBmp()
중복 함수명 : Start()

클래스 제작시 Start 함수는 이름을 조금씩 바꿔 제작한다.

궁금한 사항은 search5@gmail.com 으로 메일 주세요~(근데 이거 관심가지고 있는 사람이 얼마나 될까..)

댓글 없음: