很久没更新 WordPress 教程了,因为最近小编各种忙,实在抽不出时间来想代码,今天小编趁着周末还有点时间空闲先给大家来一发教程。之前小编在 vps 教程中写过一篇通过 nginx 过滤恶意访问的教程:《 VPS 分析日志利用 nginx 过滤恶意访问》,但是很多小伙伴还用的是虚拟主机,所以此方法根本用不了。今天小编就教大家如何直接用 WordPresss 自身来过滤恶意访问 (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!'); } }
将以上代码加到 functions.php 的第一个<?php 之后即可,本站只写了部分恶意 User Agent,如果某位小伙伴发现新的恶意 User Agent 可以将 User Agent 的关键字写 $now_ua 数组里面,每个关键字用单引号包括起来,关键字之间用英文逗号分割。非 WordPress 的 php 程序也可以使用这段代码只需要将代码中的 wp_die 改成 die,然后将代码加入到网站公用文件中。
本站收集的恶意 User Agent 列表:https://www.weixiaoduo.com/tool/bot.txt