IP가 스푸핑 될 수 있으므로 방문자 국가를 정확하게 식별하는 PHP 웹 사이트를 어떻게 구축 할 수 있습니까?특정 국가에 대한 액세스를 제한하는 PHP 웹 사이트
0
A
답변
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;
}
1
을 ,하지만 귀하의 국가에서 합법적으로 제공되지 않는 콘텐츠를 얻기 위해 IP 주소를 스푸핑하는 것은 어쨌든 기술적으로 대부분의 장소에서 범죄입니다.
귀하의 사이트가 미디어 및 정보에 대한 배포 제한을 따르는 모든 합당한 노력을 기울이는 것은 귀하의 책임입니다. 그러나이를 막기에는 비실용적 인 몇 가지 사항이 있습니다. 가장 가까운 주소는 신용 카드의 청구서 수신 주소와 같은 실제 주소 확인을하거나 등록을 위해 PIN 번호를 물리적으로 발송하는 것입니다. 그러나이 두 가지 옵션 모두 사용자 또는 사용자를 대신하여 비용이 발생합니다.
@Sarfraz, 고맙습니다. 나는 그것을 시도 할 것이다. 하지만 정규식이 무엇을 필터링하는지 잘 모르겠습니다. – cheapskate
이 코드는 프록시를 사용하는 것보다 훨씬 쉽습니다. 나가는 요청의 헤더를 허용 된 IP로 설정하기 만하면됩니다. 프록시가 필요하지 않습니다. 이는 미국 이외의 코미디 센트럴을 시청하는 경우와 같이 잘 알려져 있습니다. – McPherrinM
당신이 옳을 수도 있지만 그 기능을 사용하는 동안 joomla에 어떤 문제도 보지 못했습니다. 본 적이 있다면 알려주십시오. 감사합니다 – Sarfraz