스패머를 막아랏! 2번째 시간 - vpn 차단 > 그누4 팁자료실

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.

스패머를 막아랏! 2번째 시간 - vpn 차단 정보

스패머를 막아랏! 2번째 시간 - vpn 차단

첨부파일

mw.vpn.ban.extend.euckr.zip (759byte) 60회 다운로드 2013-01-17 20:00:57
mw.vpn.ban.extend.utf8.zip (780byte) 101회 다운로드 2013-01-17 20:00:57

본문

지난 '스패머를 막아랏! 첫번째 시간 - 키워드 유입 차단' 에 이은 두번째 팁 입니다.

스패머는 IP 가 막힐 것을 대비해 vpn 이라는 서비스를 주로 이용합니다.
vpn 의 의미는 네이버 지식iN에 잘 나와 있네요.
무슨 말인지 이해가 좀 어렵지만.. ㅎㅎ
아무튼 여기서 중요한 것은 이 vpn 서비스를 이용하면 다양한 ip 를 활용할 수 있다는 것입니다.

그래서 생각해봤습니다. vpn 에서의 접속을 막으면 되지 않을까?
그렇게 한다면 vpn 을 활용하는 스패머는 다 막을 수 있을텐데!

그럼 어떻게 vpn 에서의 접속을 막을 수 있을까요?
whois 로 ip 를 조회하면 ip 등록자가 나타납니다.
거기에 vpn 업체 이름이 기록이 되어 있지요.

이해를 돕기위해 마이위트에 스팸을 올리던 122.99.154.xxx 아이피로 예를 들어보겠습니다.
http://whois.nic.or.kr 에 가면 ip 를 조회할 수 있습니다.
122.99.154.xxx 아이피를 검색해봅니다.
결과를 보면 이렇게 나오네요.

-----
조회하신 IPv4주소는 한국인터넷진흥원으로부터 아래의 관리대행자에게 할당되었으며
, 할당 정보는 다음과 같습니다.

[ 네트워크 할당 정보 ]
IPv4주소 : 122.99.128.0 - 122.99.255.255 (/17)
서비스명 : ESOxx
기관명 : 주식회사 이소x
기관고유번호 : ORG233103
주소 : 구로구 구로동 197-10 ...........
우편번호 : 152-050
할당일자 : 20060605
-----

기관명을 보니 '주식회사 이소x' 이라고 나와있습니다.
네이버에 이소x을 검색해봤습니다.

홈페이지를 방문해보니 역시 vpn 을 서비스하는 업체였네요.
주의하실 점은 이소x에서 스팸을 올린게 아니라는 겁니다.
vpn 은 스팸을 올리는 장비가 아닙니다.
일부 스패머들이 vpn 을 활용할 뿐이지요. 오해하면 큰일납니다.

아무튼 이 업체에 악의는 없지만 우리의 목적은 vpn 에서의 접속을 막는것이었죠.
매번 접속때마다 whois 조회를 해서 막는 방법도 있지만..
그렇게 되면 우리 홈페이지나 whois 쪽 서버에 과부화가 걸릴 수 있습니다.
그러니 회원가입시에만 ip 조회를 합니다.
이소x 라는 이름이 있으면 가입을 거절하는 것이지요.

에디터로 그누보드(또는 배추빌더)의 extend 디렉토리에
mw.vpn.ban.extend.php 라는 파일을 만들어 아래코드를 코딩하고 저장합니다.
혹은 첨부파일을 다운받아 압축을 풀어 ftp 로 업로드 하셔도 됩니다.

$vpn 변수에는 스패머의 ip 를 whois 로 검색해보고 알게된 vpn 업체명을 넣으면 됩니다.
찾는데로 계속 추가할 수 있겠죠..



<?php

// ------------------------------------------------------------------------------------

//  vpn 접속 차단

// ------------------------------------------------------------------------------------

$vpn = array();

$vpn[] = '이소x';  // vpn 업체

$vpn[] = '하이온x'; // vpn 업체

if (strstr($_SERVER[PHP_SELF], "$g4[bbs]/register")) {

$fp = fsockopen("whois.nic.or.kr", 43);

if($fp) {

fputs($fp,"$_SERVER[REMOTE_ADDR]\n");

while (!feof($fp)) {

$row = fgets($fp, 80);

if (!preg_match("/^utf/i", $g4[charset]))

$row = iconv("utf-8", "cp949", $row)."
";

for ($i=0, $m=count($vpn); $i<$m; $i++) {

if (strstr($row, $vpn[$i])) {

alert("vpn 장비에서의 가입은 거절합니다.");

}

}

}   

}   

}

//------------------



참고로 alert("vpn 장비에서의 가입은 거절합니다."); 함수에 url 을 추가하면
메시지 출력후 원하는 url 로 이동시킬 수 있고..
코드를 goto_url() 함수로 변경하면 메시지 출력 없이 원하는 url 로 이동시킬 수 있습니다.

예1)
alert("vpn 장비에서의 가입은 거절합니다.", "http://www.naver.com");

예2)
goto_url("http://www.naver.com");


이상입니다.

곱슬최씨 올림.





              ㅋ ㅐ ㅊ ㅊ ㅓ
                      ㅜ    ㄴ
              ↓↓↓↓↓↓↓↓↓↓↓↓↓
              ↓↓↓↓↓↓↓↓↓↓↓↓↓
              ↓↓↓↓↓↓↓↓↓↓↓↓↓
추천
17

댓글 11개

일반인이 vpn을 쓸 일은 없다고 봅니다.
광고대행업체를 운영했던 한 사람으로써
스팸차단방법 중 최고의 방법일듯 하네요.
전체 3,313 |RSS
그누4 팁자료실 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT