本文目录一览:
求一段PHP代码 ,判断百度蜘蛛的来路的
普通用户与搜索引擎蜘蛛爬行的区别在于发送的user agent
百度蜘蛛名字包含Baiduspider, 而google的则是Googlebot, 这样我们可以通过判断发送的user agent来决定要不要取消普通用户的访问,编写函数如下:
function isAllowAccess($directForbidden = false,$url) {
$allowed = array('/baiduspider/i', '/googlebot/i');
$user_agent = $_SERVER['HTTP_USER_AGENT'];
$valid = false;
foreach ($allowed as $pattern) {
if (preg_match($pattern, $user_agent)) {
$valid = true;
break;
}
}
if (!$valid $directForbidden) {
header('location:'.$url);
}
return $valid;
}
望采纳 Thx
根据来路判断require调用的问题 PHP高手来
这个要用到全局变量$_SERVER['HTTP_REFERER']
?php
if( stristr ($_SERVER['HTTP_REFERER'],"baidu.com")) {
require('./baidu.php');
}else {
require('./header.php');
}
?
这个是简易的,分数不多就这个意思
php如何指定来路访问
可以在A页面生成一个随机数,并加入去B页面的链接中,在进入B页面的时候,第一时间去验证随机数的正确性,如:
// a.php
$number = rand(0, 999);
$_SESSION['number'] = $number;
$url = "./b.php?number=$number";
echo "a href='". $url ."'b.php/a";
// b.php
$_GET['number'] == $_SESSION['number'] OR exit('请先访问b.php!');
echo '欢迎来到我的网站';
php获取来路并跳转怎么写?
$url = $_SERVER['SCRIPT_URI'].'?'.$_SERVER['QUERY_STRING'];
#这两个拼接,能获取完整的url
if (strpos($url,'abc')!==false || strpos($url,'def')!==false)
{
Header('');
}
PHP获取来路域名
$url = $_SERVER["HTTP_REFERER"]; //获取完整的来路URL
$str = str_replace("http://","",$url); //去掉http://
$strdomain = explode("/",$str); // 以“/”分开成数组
$domain = $strdomain[0]; //取第一个“/”以前的字符
用上面的方法才准确无误,如果你用PHP自带的函数就不对如:
$_SERVER['SERVER_NAME'] 这个函数它获取的是服务器域名