分享

php根据特定HTTP

 大芬油画 2014-12-23

前段时间发布了一片文章php利用http_user_agent为空防采集,添加了这段代码以后,确实有一点作用,但是最近又犯难了,很多采集的程序视乎很高级了,能够伪造HTTP_USER_AGENT来访问网站,这确实很烦恼,不过在网络上搜索到User Agent公布列表。

我们要想知道一个用户的访问意图,可以通过HTTP_USER_AGENT来获取,而一般的正常访客是HTTP_USER_AGENT表示也是很常规的,这 里就不说什么了,我们要说的是,哪些HTTP_USER_AGENT是采集软件或者恶意攻击者所具备的标识呢?那么下面的一串代码就可以解决我们的疑惑。

  1. $ua = $_SERVER['HTTP_USER_AGENT'];
  2. $now_ua = array('FeedDemon ','ZmEu','Indy Library','oBot','jaunty'); //将恶意USER_AGENT存入数组
  3. if(!$ua) { //禁止空USER_AGENT,dedecms等主流采集程序都是空USER_AGENT,部分sql注入工具也是空USER_AGENT
  4. header("Content-type: text/html; charset=utf-8");
  5. wp_die('请勿采集本站,因为采集的站长木JJ!');
  6. }else{
  7.     foreach($now_ua as $value )
  8.     if(eregi($value,$ua)) {
  9.     header("Content-type: text/html; charset=utf-8");
  10.     wp_die('请勿采集本站,因为采集的站长木JJ!');
  11.     }
  12. }

将上面的代码放到index.php里面即可,$now_ua里面的数组就代表着目前较为常规的恶意采集软件类的HTTP_USER_AGENT标识!

User Agent公布列表

FeedDemon 内容采集
BOT/0.1 (BOT for JCE) sql注入
CrawlDaddy sql注入
Java 内容采集
Jullo 内容采集
Feedly 内容采集
UniversalFeedParser 内容采集
ApacheBench cc攻击器
Swiftbot 爬虫
YandexBot 爬虫
AhrefsBot 爬虫
YisouSpider 爬虫
jikeSpider 爬虫
MJ12bot 爬虫
ZmEu phpmyadmin漏洞扫描
WinHttp 采集cc攻击
EasouSpider 爬虫
HttpClient tcp攻击
Microsoft URL Control 扫描
YYSpider 爬虫
jaunty wordpress爆破扫描器
oBot 爬虫
Python-urllib 内容采集
Indy Library 扫描
FlightDeckReports Bot 爬虫

大家可以根据上面的User Agent公布列表自由的在代码里拓展所屏蔽的User Agent值,加上之前利用User Agent为空来防止采集,详细这次能够完全的防止非法用户采集和攻击网站了。

本站文章除注明转载外,均为本站原创或翻译,欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创和谐网络环境。
转载请注明:文章转载自:问说 ? php根据特定HTTP_USER_AGENT的防止采集和攻击
本文标题:php根据特定HTTP_USER_AGENT的防止采集和攻击
本文地址:http://www./acquisition.html

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多