
您现在的位置是:首页 > WordPress教程WordPress教程
如何设置WordPress安全防火墙
WP集市
2025-08-27
【WordPress教程】
269人已围观
- 首先咱得明白,防火墙就是个看大门的,专门拦那些不怀好意的网络请求。WordPress本身挺结实,但架不住总有人想撬门,所以得加个自定义防护层。最简单一招是往主题的functions.php里塞代码,比如拦掉那些瞎扫描的爬虫:
add_action('init', 'block_bad_bots');
function block_bad_bots() {
if (preg_match('/AhrefsBot|SemrushBot/', $_SERVER['HTTP_USER_AGENT'])) {
wp_die('爬虫别来了,喝杯茶歇会儿吧', 403);
}
}
- 接着搞登录保护。默认的wp-login.php谁都认得,改成隐蔽路径就像把钥匙藏地毯底下——虽然老套但管用。在.htaccess里加规则(注意先备份):
<FilesMatch "^login\.php$">
Order Deny,Allow
Deny from all
Allow from 192.168.1.1
</FilesMatch>
- 限制XML-RPC接口。这玩意儿有时候比大门还宽敞,黑客最爱从这儿撞库。直接关掉又可能影响手机APP,那就只留必要功能:
add_filter('xmlrpc_enabled', '__return_false');
add_filter('xmlrpc_methods', 'disable_xmlrpc_pingback');
function disable_xmlrpc_pingback($methods) {
unset($methods['pingback.ping']);
return $methods;
}
- 文件防护也不能落下。上传目录经常被塞木马,得禁止PHP执行。在网站根目录的.htaccess里添这么一段:
<Directory /wp-content/uploads/>
<Files *.php>
Deny from all
</Files>
</Directory>
- 最后整个简易版WAF。用PHP检查可疑请求,比如带SQL注入特征的参数就直接掐断:
$bad_strings = array('union select', 'eval(', 'base64_decode');
foreach ($_GET as $input) {
foreach ($bad_strings as $bad) {
if (strpos($input, $bad) !== false) {
header('HTTP/1.1 400 Bad Request');
exit('参数咋不对劲呢?');
}
}
}
其实安全就是个修修补补的活儿,没有一劳永逸。记得每次改代码前备份,不然手滑了可能连自己都进不去。要是怕麻烦,直接装个Wordfence插件也行,但自己捣鼓更有成就感不是?
Tags:
文章版权声明:除非注明,否则均为WP集市原创文章,转载或复制请以超链接形式并注明出处。

热门文章
