wordpress禁止恶意HTTP_USER_AGENT,防采集防部分攻击

首先我们不得不感谢奶嘴大神给我们带来的精心教程,来自wordpress禁止恶意HTTP_USER_AGENT,防采集防部分攻击的说明,小2觉得很使用,就转载过来了,感谢奶嘴大神为wordpress方面所做出的贡献,怪不得WP.COM要把奶嘴挖去做中国区域的维护人话。。。好啦,下面我们说说今天这个教程的主题内容吧。

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

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

将上面的代码放到wordpress主题文件夹的functios.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值!

最后还是感谢奶嘴大神的教程!

文章来自http://www.freehao123.com/wordpress-spam/