如何重写超出范围ip的ip

时间:2016-02-19 20:57:14

标签: ip range out

我的问题是如何将ip重定向到一系列ip。 我有一个代码可以重定向到范围内的url但我需要做相反的事情 - 重定向ip`s超出范围。
类似的东西:

$location = 'http://www.google.com/';

$range_low = ip2long("80.87.206.35");
$range_high = ip2long("80.87.206.38");

$ip = ip2long($_SERVER['REMOTE_ADDR']);

if ($ip <= $range_low && $ip => $range_high) {
header ('HTTP/1.1 301 Moved Permanently');
header ('Location: '.$location);  
}

else {

}

1 个答案:

答案 0 :(得分:0)

我找到了解决方案

$location = file_get_contents('http://www.google.com');
$location2 = file_get_contents('http://www.ya.ru');

$range_low = ip2long("128.140.172.0");
$range_high = ip2long("128.140.175.255");

$range_low2 = ip2long("94.100.184.0");
$range_high2 = ip2long("94.100.191.255");

$range_low3 = ip2long("94.100.176.0");
$range_high3 = ip2long("94.100.183.255");

$ip = ip2long($_SERVER['REMOTE_ADDR']);


if (($ip < $range_low or $ip > $range_high) ^ ($ip < $range_low2 or $ip > $range_high2) ^ ($ip < $range_low3 or $ip > $range_high3)) {
echo $location;  // out of ip range

} else {
echo $location2; // in ip range