我们要想知道一个用户的访问意图,可以通过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值!