用php实现让页面只能被百度gogole蜘蛛访问的方法

前端之家收集整理的这篇文章主要介绍了用php实现让页面只能被百度gogole蜘蛛访问的方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

普通用户搜索引擎蜘蛛爬行的区别在于发送的user agent,
看网站日志文件能发现百度蜘蛛名字包含Baiduspider,而google的则是Googlebot,这样我们可以通过判断发送的user agent来决定要不要取消普通用户的访问,编写函数如下:
<div class="codetitle"><a style="CURSOR: pointer" data="98389" class="copybut" id="copybut98389" onclick="doCopy('code98389')"> 代码如下:

<div class="codebody" id="code98389">
function isAllowAccess($directForbidden = FALSE) {
$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) {
exit("404 not found");
}
 
return $valid;
}

在要禁止访问的页面头部引用这个函数来做判断就ok了,如下俩中调用方式:
<div class="codetitle"><a style="CURSOR: pointer" data="90103" class="copybut" id="copybut90103" onclick="doCopy('code90103')"> 代码如下:
<div class="codebody" id="code90103">
if (!isAllowAccess()) {
exit("404 not found");
}
//或者
isAllowAccess(TRUE);

猜你在找的PHP相关文章