2009-12-17 4 views

답변

0

줌라가 매우 다양한 좋은 기능, 즉 가능한 속임수를 피할 수있다, IP 주소를 얻기 위해 아래와 같은 기능을 사용하고있다, 당신은 그것을 사용할 수 있습니다 본질적으로 인터넷의 익명 주어진 문제입니다

function get_ip() 
{ 
    $ip = false; 

    if (!empty($_SERVER['HTTP_CLIENT_IP'])) 
    { 
     $ip = $_SERVER['HTTP_CLIENT_IP']; 
    } 

    if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) 
    { 
     $ips = explode (', ', $_SERVER['HTTP_X_FORWARDED_FOR']); 

     if ($ip != false) 
     { 
       array_unshift($ips,$ip); 
       $ip = false; 
     } 

     $count = count($ips); 

     # exclude IP addresses reserved for LANs 
     for ($i = 0; $i < $count; $i++) 
     { 
       if (!preg_match("/^(10|172\.16|192\.168)\./i", $ips[$i])) 
       { 
        $ip = $ips[$i]; 
        break; 
       } 
     } 
    } 

    if (false == $ip AND isset($_SERVER['REMOTE_ADDR'])) 
    { 
     $ip = $_SERVER['REMOTE_ADDR']; 
    } 

    return $ip; 
} 
+0

@Sarfraz, 고맙습니다. 나는 그것을 시도 할 것이다. 하지만 정규식이 무엇을 필터링하는지 잘 모르겠습니다. – cheapskate

+0

이 코드는 프록시를 사용하는 것보다 훨씬 쉽습니다. 나가는 요청의 헤더를 허용 된 IP로 설정하기 만하면됩니다. 프록시가 필요하지 않습니다. 이는 미국 이외의 코미디 센트럴을 시청하는 경우와 같이 잘 알려져 있습니다. – McPherrinM

+0

당신이 옳을 수도 있지만 그 기능을 사용하는 동안 joomla에 어떤 문제도 보지 못했습니다. 본 적이 있다면 알려주십시오. 감사합니다 – Sarfraz

1

을 ,하지만 귀하의 국가에서 합법적으로 제공되지 않는 콘텐츠를 얻기 위해 IP 주소를 스푸핑하는 것은 어쨌든 기술적으로 대부분의 장소에서 범죄입니다.

귀하의 사이트가 미디어 및 정보에 대한 배포 제한을 따르는 모든 합당한 노력을 기울이는 것은 귀하의 책임입니다. 그러나이를 막기에는 비실용적 인 몇 가지 사항이 있습니다. 가장 가까운 주소는 신용 카드의 청구서 수신 주소와 같은 실제 주소 확인을하거나 등록을 위해 PIN 번호를 물리적으로 발송하는 것입니다. 그러나이 두 가지 옵션 모두 사용자 또는 사용자를 대신하여 비용이 발생합니다.