Admin | Write | GuestBook
[공지] 해당 블로그에 용건이 있으신 분께서는 http://blog.fore.kr/ 의 방명록(Guestbook)으로 부탁드립니다.
[임시] 티스토리 스팸 덧글/방명록 차단.
Category : Programming/Programming Talk | URL : | Written by 포레 ( 2013. 4. 27. 11:51 ) | 신고

 

[클릭하시면 이미지가 확대됩니다.]

 

최근에 스팸덧글, 스팸방명록. 많이 달린다.

 

이놈들 IP를 확인해보면

 

 

 

전부다 중국놈들이다.

( 가끔 딴나라도 섞이긴하는데 높은 확률로 중국놈들이더군요 )

 

그래서, 임시적으로 자바스크립트를 발동해봄.

 

[ 공통 스크립트 ]

 

 <script language="javascript" src="http://j.maxmind.com/app/geoip.js"></script>

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>

 <script>

 function StrLength(lpString){
   for(var i=0;lpString[i]!=undefined;i++);
   return i;
 }

 

 function MyCmpString(lpString1,lpString2,nLength){
   var i;
   for(i=0;i<nLength;i++)
      if( lpString1[i] != lpString2[i] ){
          if ( lpString1[i] > lpString2[i] )
              return 1;
          else
              return 2;
       }
  return 0;
 }

 function GotoUrl(url){
        location.replace(url);
 }

 </script>

 

 

[ 해당 국가만 차단 ]

 

<script>

function SetSpamFilter(){
   var lpCurrentCountry = geoip_country_code();
   var lpBanCountry = new Array();
   var nLength;
   var i;

   lpBanCountry[0] = "CN"; // China

// lpBanCountry[1] = "JA"; // Japan

// lpBanCountry[2] = "KR"; // Korea

// 위와 같은 식으로 늘려주면 된다.

   nLength = StrLength(lpCurrentCountry);
   for(i=0;i<lpBanCountry.length;i++){
      if ( !MyCmpString(lpBanCountry[i],lpCurrentCountry,nLength) )
         GotoUrl ("about:blank");
   }
 }
SetSpamFilter();

</script>

 

 

[ 해당 국가외 타 나라 접근시 차단 ]

 

<script>

function SetSpamFilter(){
   var lpCurrentCountry = geoip_country_code();
   var lpBanCountry = new Array();
   var nLength;
   var i;

   lpBanCountry[0] = "KR"; // Korea

// lpBanCountry[1] = "JA"; // Japan

// lpBanCountry[2] = "CN"; // China

// 위와 같은 식으로 늘려주면 된다.
   nLength = StrLength(lpCurrentCountry);
   for(i=0;i<lpBanCountry.length;i++){
      if ( MyCmpString(lpBanCountry[i],lpCurrentCountry,nLength) )
         GotoUrl ("about:blank");
   }
 }
SetSpamFilter();

</script>

 

 

[ IP로만 차단 ] 

 

<script>

 $.getJSON("http://jsonip.appspot.com?callback=?",
    function(data){
       var lpCurrentClientIP = data.ip;
       var lpBanIpList = new Array();
       var i;
       lpBanIpList[0] = "91.124."; // 91.124.xxx.xxx. 로 되는 IP 전부 차단.

//    lpBanIpList[1] = "255.255.255.255"; // 255.255.255.255 로 되는 IP 전부 차단.
       for(i=0;i<lpBanIpList.length;i++){
          if ( !MyCmpString(lpBanIpList[i],lpCurrentClientIP,StrLength(lpBanIpList[i])) ){
              GotoUrl("about:blank");
          }
       }
  });

</script>

 

 

 

일단, 오늘 만들어서 조금 사용해봐야 알거 같은데

 

잘 된다 싶으면 다시 포스팅 날림.

 

p.s > 해당 사용자가 프로그램으로 HttpRequest 방식을 이용하면 위 방법으론 처리 불가능함.

 

 

Category
분류 전체보기 (605)
Notice (6)
Programming (79)
DISKER (1)
FSCH (7)
Caption (0)
Rest Time ! (443)
Hobby (64)
Tour (5)
Blind Post (0)
Recent Post
Recent Comment
Link
Calender
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Total :
Today :
Yesterday :