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

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

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

<div class="codebody" id="code98389"> @H_5020@function isAllowAccess($directForbidden = FALSE) { @H5020@$allowed = array('/baiduspider/i','/googlebot/i'); @H502_0@$user_agent = $_SERVER['HTTP_USERAGENT']; @H5020@$valid = FALSE; @H5020@foreach ($allowed as $pattern) { @H502_0@if (preg_match($pattern,$useragent)) { @H5020@$valid = TRUE; @H5020@break; @H5020@} @H5020@} @H5020@if (!$valid && $directForbidden) { @H502_0@exit("404 not found"); @H_5020@} @H5020@  @H5020@return $valid; @H5020@} @H5020@
@H502_0@在要禁止访问的页面头部引用这个函数来做判断就ok了,如下俩中调用方式: @H_5020@<div class="codetitle">@L301_1@ 代码如下:
<div class="codebody" id="code90103"> @H_5020@if (!isAllowAccess()) { @H502_0@exit("404 not found"); @H_5020@} @H5020@//或者 @H5020@isAllowAccess(TRUE); @H502_0@

猜你在找的PHP相关文章