首先感谢大家的帮助,我找到了一个代码可以正常用,实现功能限制地区访问不限制搜索引擎,
但下面这个代码有几个问题,大家帮忙看看
第一、打开后会显示Notice: Undefined index: HTTP_REFERER,网上看了下解决办法不知道对不对是在$antecedents = $_SERVER['HTTP_REFERER'];改成$antecedents = @$_SERVER['HTTP_REFERER'];等于加了个@,但不知道这样是否会影响搜索引擎收录
第二、这个代码上面放行的搜索引擎是百度和google但这个代码好像是13年左右的,代码中用到的标识是否不起作用,因为没有测试不知道,比如百度现在标识是Baiduspider,麻烦大神帮忙看看,另外就是我想增加360和搜狗的,如何增加
第三、这个代码用的是淘宝的ip,速度会慢,我想改成本地的纯真ip如何改,谢谢大家帮忙function get_client_ip() {
if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown"))
$ip = getenv("HTTP_CLIENT_IP");
else if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"),
"unknown"))
$ip = getenv("HTTP_X_FORWARDED_FOR");
else if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown"))
$ip = getenv("REMOTE_ADDR");
else if (isset ($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR']
&& strcasecmp($_SERVER['REMOTE_ADDR'], "unknown"))
$ip = $_SERVER['REMOTE_ADDR'];
else
$ip = "unknown";
return ($ip);
}
header("Content-type: text/html; charset=utf-8");
$verification = '江西省';//修改省份
$ip = get_client_ip(); //获取当前用户的ip
$antecedents = $_SERVER['HTTP_REFERER'];//访客来路地址
$result = file_get_contents("http://ip.taobao.com/service/getIpInfo.php?ip=".$ip);//IP数据库来自淘宝。
$address = json_decode($result,true);
if($address['data']['region'] == $verification && strpos($antecedents, 'baidu') === false && strpos($antecedents, 'google') === false){
sleep(9999999999999999);
ob_start();
header('HTTP/1.1 503 Service Temporarily Unavailable');
header('Status: 503 Service Temporarily Unavailable');
header('Retry-After: 3600');
header('X-Powered-By:NaiZui');
echo '网站备案中....';
exit;
}