关于本站
“最难不过坚持”
本人承接扒站仿站,php网站维护,病毒查杀,网站编辑,网站改版,html制作
有需要网站维护,改版,病毒查杀,网站编辑,网站备案,html制作等相关的工作可以联系我。
本人有多年相关工作经验,也可提供免费咨询,交个朋友。
有需要探讨问题的朋友,也可以加我微信,共同探讨!
微信:15011482830 QQ:408917339
2655
39
分类目录
最新评论
- https://jueru.net/
-
- :weixiao:
-
- :shuijiao: :weiqu: :zhenbang: :leng:
-
- :yiwen: :yiwen: :yiwen: :yiwen:
-
- 这个业务逻辑多少都有点奇怪了,阅读浏览次数增值在新闻详情页的控制器方法里setInc,这怎么还写进模型事件里了。如果非要用onAfterRead也可以,把新闻文章的内容单独分出来一个news_content表,然后把它和news做关联,然后给news_content表的onAfterRead事件做增值处理,这样点进新闻页内查询到文章内容时才会触发它。
-
文章标签更多
打开边栏(ESC)
关闭边栏(ESC)
1、推荐的一种方法:php判断搜索引擎蜘蛛爬虫还是人为访问代码,摘自Discuz x3.2
<?php functioncheckrobot($useragent=''){ static$kw_spiders=array('bot','crawl','spider','slurp','sohu-search','lycos','robozilla'); static$kw_browsers=array('msie','netscape','opera','konqueror','mozilla'); $useragent=strtolower(empty($useragent) ?$_SERVER['HTTP_USER_AGENT'] :$useragent); if(strpos($useragent,'http://') === false && dstrpos($useragent,$kw_browsers))returnfalse; if(dstrpos($useragent,$kw_spiders))returntrue; returnfalse; } functiondstrpos($string,$arr,$returnvalue= false) { if(empty($string))returnfalse; foreach((array)$arras$v) { if(strpos($string,$v) !== false) { $return=$returnvalue?$v: true; return$return; } } returnfalse; } if(checkrobot()){ echo'机器人爬虫'; }else{ echo'人'; } ?>实际应用中可以这样判断,直接不是搜索引擎才执行操作
<?php if(!checkrobot()){ //do something } ?>2、第二种方法:
使用PHP实现蜘蛛访问日志统计
$useragent=addslashes(strtolower($_SERVER['HTTP_USER_AGENT'])); if(strpos($useragent,'googlebot')!== false){$bot='Google';} elseif(strpos($useragent,'mediapartners-google') !== false){$bot='Google Adsense';} elseif(strpos($useragent,'baiduspider') !== false){$bot='Baidu';} elseif(strpos($useragent,'sogou spider') !== false){$bot='Sogou';} elseif(strpos($useragent,'sogou web') !== false){$bot='Sogou web';} elseif(strpos($useragent,'sosospider') !== false){$bot='SOSO';} elseif(strpos($useragent,'360spider') !== false){$bot='360Spider';} elseif(strpos($useragent,'yahoo') !== false){$bot='Yahoo';} elseif(strpos($useragent,'msn') !== false){$bot='MSN';} elseif(strpos($useragent,'msnbot') !== false){$bot='msnbot';} elseif(strpos($useragent,'sohu') !== false){$bot='Sohu';} elseif(strpos($useragent,'yodaoBot') !== false){$bot='Yodao';} elseif(strpos($useragent,'twiceler') !== false){$bot='Twiceler';} elseif(strpos($useragent,'ia_archiver') !== false){$bot='Alexa_';} elseif(strpos($useragent,'iaarchiver') !== false){$bot='Alexa';} elseif(strpos($useragent,'slurp') !== false){$bot='雅虎';} elseif(strpos($useragent,'bot') !== false){$bot='其它蜘蛛';} if(isset($bot)){ $fp= @fopen('bot.txt','a'); fwrite($fp,date('Y-m-d H:i:s')."\t".$_SERVER["REMOTE_ADDR"]."\t".$bot."\t".'http://'.$_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"]."\r\n"); fclose($fp); }
3,第三种方法:
我们可以通过HTTP_USER_AGENT来判断是否是蜘蛛,搜索引擎的蜘蛛都有自己的独特标志,下面列取了一部分。
functionis_crawler() { $userAgent=strtolower($_SERVER['HTTP_USER_AGENT']); $spiders=array( 'Googlebot',// Google 爬虫 'Baiduspider',// 百度爬虫 'Yahoo! Slurp',// 雅虎爬虫 'YodaoBot',// 有道爬虫 'msnbot'// Bing爬虫 // 更多爬虫关键字 ); foreach($spidersas$spider) { $spider=strtolower($spider); if(strpos($userAgent,$spider) !== false) { returntrue; } } returnfalse; }下面的php代码附带了更多的蜘蛛标识
functionisCrawler() { echo$agent=strtolower($_SERVER['HTTP_USER_AGENT']); if(!empty($agent)) { $spiderSite=array( "TencentTraveler", "Baiduspider+", "BaiduGame", "Googlebot", "msnbot", "Sosospider+", "Sogou web spider", "ia_archiver", "Yahoo! Slurp", "YoudaoBot", "Yahoo Slurp", "MSNBot", "Java (Often spam bot)", "BaiDuSpider", "Voila", "Yandex bot", "BSpider", "twiceler", "Sogou Spider", "Speedy Spider", "Google AdSense", "Heritrix", "Python-urllib", "Alexa (IA Archiver)", "Ask", "Exabot", "Custo", "OutfoxBot/YodaoBot", "yacy", "SurveyBot", "legs", "lwp-trivial", "Nutch", "StackRambler", "The web archive (IA Archiver)", "Perl tool", "MJ12bot", "Netcraft", "MSIECrawler", "WGet tools", "larbin", "Fish search", ); foreach($spiderSiteas$val) { $str=strtolower($val); if(strpos($agent,$str) !== false) { returntrue; } } }else{ returnfalse; } } if(isCrawler()){ echo"你好蜘蛛精!"; } else{ echo"你不是蜘蛛精啊!"; }4,第四种方法:
<?php $flag= false; $tmp=$_SERVER['HTTP_USER_AGENT']; if(strpos($tmp,'Googlebot') !== false){ $flag= true; }elseif(strpos($tmp,'Baiduspider') >0){ $flag= true; }elseif(strpos($tmp,'Yahoo! Slurp') !== false){ $flag= true; }elseif(strpos($tmp,'msnbot') !== false){ $flag= true; }elseif(strpos($tmp,'Sosospider') !== false){ $flag= true; }elseif(strpos($tmp,'YodaoBot') !== false ||strpos($tmp,'OutfoxBot') !== false){ $flag= true; }elseif(strpos($tmp,'Sogou web spider') !== false ||strpos($tmp,'Sogou Orion spider') !== false){ $flag= true; }elseif(strpos($tmp,'fast-webcrawler') !== false){ $flag= true; }elseif(strpos($tmp,'Gaisbot') !== false){ $flag= true; }elseif(strpos($tmp,'ia_archiver') !== false){ $flag= true; }elseif(strpos($tmp,'altavista') !== false){ $flag= true; }elseif(strpos($tmp,'lycos_spider') !== false){ $flag= true; }elseif(strpos($tmp,'Inktomi slurp') !== false){ $flag= true; } if($flag== false){ header("Location: //www.jb51.net".$_SERVER['REQUEST_URI']); // 自动转到//www.jb51.net 对应的网页 // $_SERVER['REQUEST_URI'] 为域名后面的路径 // 或换成header("Location: //www.jb51.net/abc/d.php"); exit(); } ?>
赏
相关推荐
php实现ZIP压缩文件解压缩,中文乱码解决方法(重要)
直接上代码,具体代码里面都有注释。直接中文压缩文件解压到中文文件夹。
<?php
// 需开启配置 php_zip.dll
// phpinfo();
header("Content-type:text/html;charset=utf-8");
/*
* $filename 被解压文件名
* $path 解压...
openssl_private_decrypt解密失败
复制别人的解密程序,原程序可以解密,复制过来就不可以
一步步尝试发现,秘钥换行符有区别,
原秘钥有换行符,复制过来不知道什么时候把换行符清空了,成了一行字符串了。
评论加载中...