普通用户与搜索引擎蜘蛛爬行的区别在于发送的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);
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|