一般我们要想知道一个用户的访问意图,可以通过HTTP_USER_AGENT来获取,而一般的正常访客是HTTP_USER_AGENT表示也是很常规的,说到这里,无忧主机小编顺便说下HTTP_USER_AGENT这个参数的作用,$_SERVER[‘HTTP_USER_AGENT’]。
其中需要检查用户的 agent 字符串,它是浏览器发送的 HTTP 请求的一部分。
而像DDOS一般都是同样的http信息过来的,所以屏蔽恶意HTTP_USER_AGENT在一定程度上还能防攻击。
这里就不说太多其他的了,我们要说的是,哪些HTTP_USER_AGENT是采集软件或者恶意攻击者所具备的标识呢?
将下面的代码添加到wordpress主题文件夹的functios.php里面,即可,$now_ua里面的数组就代表着目前较为常规的恶意采集软件类的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!’);
}
}
下面是一些常规的USER_AGENT信息,大家可以根据需要自己添加要屏蔽的User Agent,添加方式只需要在上面的$now_ua数据变量添加即可。
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 爬虫