커피닉스, 시스템 엔지니어의 쉼터
  php에서 메일주소 추출막는 몇가지 작성일 : 2004/04/18 01:37
 
  • 글쓴이 : 좋은진호 ( http://coffeenix.net/ )
  • 조회수 : 8636
     
    제  목 : php에서 메일주소 추출막는 몇가지
    작성자 : 좋은진호(truefeel, http://coffeenix.net/ )
    작성일 : 2004.04.17(토)

    커피닉스에 메일주소 추출로봇에 의해 주소를 가져가 몰지각한 일을 하는 놈(?)들이 있어
    완벽하지는 않지만 메일주소 추출을 막을 수 있는 몇 가지 방법을 소개한다.

    1. REFERER 변수를 통해 crawler의 접근을 막는다.

    메일주소가 있는 페이지는 REFERER를 통해 메일추출 로봇의 접근을 막을 수 있다.

     
    if ( ! preg_match("/http:\/\/[a-z0-9]*coffeenix\.net\//", $_SERVER[HTTP_REFERER]) &&
         ! preg_match("/http:\/\/localhost\//", $_SERVER[HTTP_REFERER]) ) {
       echo "비정상적인 접근";
       exit;
    }
     


    2. 메일주소를 '&# + ASCII 코드 10진수' 형태로 표시한다.

    &# + 97 + ; 은 a
    &# + 98 + ; 은 b
    ...
    &# + 122 + ; 은 z

    이와 같은 형태로 &# + ASCII 코드 10진수 + ; 로 대응하여 표시한다.
    물론 브라우저에서는 정상적으로 보인다.

     
    function mask_email($mail) {
            $me = '';    
            $length = strlen($mail);    

            for ($i = 0; $i < $length; $i++) {
                    $me .= "&#" . ord($mail[$i]) . ";";
            }

            return $me;
    }
     

    * 다운로드 : http://coffeenix.net/truefeel/files/mask_email_function.txt
    * 소스출처 : http://px.sklar.com/code.html?id=897

    3. 메일주소를 ID와 도메인을 분리해서 입력하도록 한다.


    커피닉스, 시스템 엔지니어의 쉼터 / URL : http://coffeenix.net/board_view.php?bd_code=306