- 1. 认识常见的 WordPress 网站安全威胁
- 2. WordPress 基础安全设置(必做)
- 2.1 更换默认用户名、使用强密码 🔐
- 2.2 限制登录尝试、启用两步验证(2FA)
- 2.3 禁用文件编辑与 PHP 执行
- 2.4 启用 SSL,强制全站 HTTPS
- 2.5 隐藏版本号与关闭危险功能
- 2.6 更换默认登录链接路径
- 3. 安全插件推荐与使用
- 3.1 Wordfence Security(强烈推荐 ✅)
- 3.2 iThemes Security
- 3.3 All In One WP Security & Firewall
- 3.4 WP Cerber Security
- 3.5 Jetpack(安全模块)
- 3.5 辅助类插件推荐
- 4. 防止跨站脚本(XSS)与 SQL 注入
- 5. 主题与插件安全
- 6. 文件权限与服务器配置
- 7. 定期备份与快速恢复方案
- 8. WordPress 网站安全进阶防护
- 9. 写在最后
在全球数以百万计的网站中,WordPress 以其强大的可扩展性和丰富的生态系统,成为了最受欢迎的网站搭建平台。但正因如此,它也成为黑客攻击的重灾区。无论是个人博客还是企业官网,一旦出现安全漏洞,都可能导致数据泄露、网站被篡改,甚至造成经济损失或品牌信誉受损。
更令人担忧的是,许多攻击并不是“定点打击”,而是利用自动化脚本批量扫描互联网上的 WordPress 网站,寻找未更新的插件、弱密码、默认账户等“软肋”进行入侵。这意味着,不管你的网站规模大小,只要没做好安全防护,就有可能成为目标。
👉本文将带你全面梳理 WordPress 网站的安全防护策略,从后台设置到插件工具,从权限管理到代码加固,让你逐步构建起一个稳定可靠的网站安全体系。本文总结了写了九条,希望你们都长长久久!
1. 认识常见的 WordPress 网站安全威胁
虽然 WordPress 本身是安全的,但使用过程中涉及的主题、插件、服务器配置、用户操作等一旦存在疏漏,便可能引发一系列安全隐患。了解这些常见威胁,是做好防护的第一步。
(1)暴力破解(Brute Force Attack)
攻击者通常会使用自动化脚本对 WordPress 网站发起暴力破解攻击(Brute Force Attack),不断尝试常见的用户名与密码组合,试图强行登录后台获取控制权限。这类脚本可以在短时间内模拟成千上万次登录请求,尤其针对默认的“admin”用户名和简单密码(如“123456”或“password”)时,成功率极高。
一旦管理员账户被攻破,攻击者便可以上传恶意代码、窃取用户数据,甚至删除整站内容。更糟糕的是,这类攻击通常不会被立即察觉,直到网站异常或被搜索引擎标记为危险才引起注意。因此,设置强密码并禁用默认账户是最基本也是最关键的安全防线。
(2)跨站脚本攻击(XSS)
攻击者通过注入恶意脚本,让用户在浏览网站时被执行不安全的代码,从而窃取登录凭证、篡改内容或实施跳转。
(3)SQL 注入(SQL Injection)
通过构造非法数据库查询语句,攻击者可能窃取、篡改甚至删除网站数据库中的敏感数据。
(4)插件与主题漏洞
使用来源不明、长期未更新或破解的插件和主题,极易被攻击者利用其漏洞控制网站,植入木马或跳转代码。
(5)文件上传漏洞
未加限制的上传功能,可能被上传木马、WebShell 等恶意文件,从而实现服务器控制。
(6)旧版本漏洞
WordPress 核心、插件、主题版本一旦过旧,若存在已公开的漏洞,攻击者就能轻松利用,造成严重后果。
理解这些威胁不仅有助于你判断现有站点的薄弱环节,也为后续的安全策略选择提供方向。接下来,我们就从基础设置开始,逐步构建安全防线。

2. WordPress 基础安全设置(必做)
WordPress 网站的绝大多数攻击,其实都可以通过一套良好的基础设置来避免。这些设置无需高级开发技能,但能显著提升网站的防护水平。以下是每个站点都应完成的关键安全动作:
2.1 更换默认用户名、使用强密码 🔐
避免使用默认管理员账户“admin”,建议创建新管理员账号后删除原始账号。同时,为所有用户启用高强度密码,推荐使用密码管理器自动生成并定期更换,防止账号被暴力破解。
同时确保所有用户仅拥有所需的最低权限(比如编辑、作者),限制管理员数量,定期清理或禁用长时间不活跃的账号,避免被滥用或撞库攻击。
2.2 限制登录尝试、启用两步验证(2FA)
安装如 Limit Login Attempts Reloaded 等插件限制登录失败次数,并配合 WP 2FA、Wordfence、Jetpack等插件启用两步验证,可大幅提升账户安全性,阻挡批量登录尝试。
2.3 禁用文件编辑与 PHP 执行
默认情况下,管理员可在后台直接编辑主题/插件文件,风险极高。可在 wp-config.php
添加以下代码禁用此功能:
define('DISALLOW_FILE_EDIT', true);
同时可考虑禁止某些目录(如 /wp-content/uploads
)中的 PHP 执行,防止通过上传漏洞植入木马:
location ~* ^/wp-content/uploads/.*\.php$ {
deny all;
return 403;
}
💡 推荐做法:
将这段代码写入你的站点配置文件(通常是 /etc/nginx/sites-enabled/your-site.conf
),或直接在 server
块中添加。
2.4 启用 SSL,强制全站 HTTPS
为站点安装 SSL 证书(推荐使用 Let’s Encrypt 免费证书),通过后台或 Really Simple SSL 插件一键切换 HTTPS,保障传输过程中的数据不被监听或篡改。
2.5 隐藏版本号与关闭危险功能
WordPress 默认会在页面源代码中输出版本号、开放远程发布接口(如 XML-RPC、REST API),这虽然方便了一些功能扩展,但也为攻击者提供了可乘之机。以下操作建议尽早完成,以最大限度降低风险。
(1)隐藏 WordPress 版本号
攻击者可利用版本信息来确定是否存在可利用漏洞。可通过以下代码移除页面 <head>
中的版本输出:
remove_action('wp_head', 'wp_generator');
还应通过插件或代码移除 JS/CSS 文件中的 ?ver=5.x
之类的参数,避免版本暴露在资源路径中。
(2)关闭 XML-RPC 接口xmlrpc.php
常被用于暴力破解、DDoS 和 pingback 放大攻击,Nginx 用户在站点配置中加入以下规则进行屏蔽:
location = /xmlrpc.php {
deny all;
return 403;
}
(3)禁用 REST API 匿名访问(可选)
WordPress REST API 默认允许匿名访问站点部分信息(如用户名、文章列表),有可能泄露敏感数据。可用插件如 Disable REST API 或添加如下代码限制仅登录用户访问:
add_filter('rest_authentication_errors', function($result) {
if (!is_user_logged_in()) {
return new WP_Error('rest_cannot_access', 'REST API restricted to authenticated users.', array('status' => 401));
}
return $result;
});
(4)关闭远程文件编辑与接口调用功能
此外还可禁用 WP 本地文件修改与外部远程请求(如自动更新、主题下载等):
define('DISALLOW_FILE_MODS', true); // 禁用后台更新与插件/主题安装
define('DISALLOW_FILE_EDIT', true); // 禁用后台文件编辑
通过以上设置,你可以有效减少网站暴露在外的“入口”,降低被扫描、识别和入侵的风险,建议作为 WordPress 基础安全的一部分长期保留。
2.6 更换默认登录链接路径
WordPress 默认登录地址 /wp-login.php
是扫描攻击的重点目标。使用 WPS Hide Login 插件可将登录地址自定义为更隐蔽的路径(如 /admin-login
),有效减少暴力破解的入口。也可以用下面这段代码:
//修改后台登录地址为 ~/wp-login.php?fuck=off
add_action('login_enqueue_scripts','login_protection');
function login_protection(){
if($_GET['fuck'] != 'off')header('Location: https://www.shephe.com/');
}
3. 安全插件推荐与使用
基础设置固然重要,但想让 WordPress 真正具备抵御各种攻击的能力,还需要借助安全插件进行主动防护与持续监控。这些插件可以帮助我们进行防火墙设置、恶意文件扫描、登录保护、实时预警等功能,是不可或缺的安全助手。下面推荐几款实用且常用的安全插件。
3.1 Wordfence Security(强烈推荐 ✅)
Wordfence 是目前 WordPress 用户最多的安全插件之一。它提供了非常全面的安全功能,对新手和进阶用户都非常友好,免费版已经足够日常使用。
功能亮点:
- 自带 Web 应用防火墙(WAF)
- 实时恶意文件扫描和漏洞检测
- 登录保护(限制尝试次数、2FA 二步验证)
- 实时流量与爬虫监控
- 邮件报警系统,及时提醒风险
3.2 iThemes Security
主打“一键加固”,集成多种安全策略,如限制登录尝试、自定义登录路径、禁用 XML-RPC、检测文件篡改等,适合新手快速配置。设置界面清晰,支持中文,入门友好。
3.3 All In One WP Security & Firewall
功能全面、模块分类细,覆盖从用户权限到防火墙规则的多层保护。提供安全评分、建议和图形化设置界面,适合愿意手动调优的用户。
3.4 WP Cerber Security
专注于登录保护、IP 拦截和行为监控,防止 REST API 滥用,日志记录详细。更适合有审计需求、或希望控制更精细的用户行为的站点。
3.5 Jetpack(安全模块)
Jetpack 的“安全”功能包括恶意登录防护、站点活动日志、自动备份(需付费)等,适合使用 Automattic 系列产品(如 WooCommerce、WordPress.com)的用户。但因其模块较多,体积偏大,不推荐轻量化部署使用。
3.5 辅助类插件推荐
- Limit Login Attempts Reloaded:轻量登录尝试限制插件,拦截暴力破解,适合极简部署
- WP 2FA:专注于为用户添加两步验证的插件,兼容性好、界面现代
- Disable XML-RPC:专门用来彻底禁用
xmlrpc.php
的小插件
💡 温馨提示:安全插件不宜重复安装多个具有相似功能的插件,例如多个防火墙同时开启可能引起冲突。建议挑选 一款主安全插件 + 一两个轻量辅助插件 的组合方式,兼顾安全性与性能。
4. 防止跨站脚本(XSS)与 SQL 注入
跨站脚本(XSS)和 SQL 注入(SQL Injection)是最常见也最危险的两类网站攻击手段,一旦防护不当,轻则页面异常、跳转广告,重则数据泄露、网站被控。因此,WordPress 用户必须理解其原理,并采取合理的防御措施。
4.1 什么是 XSS 与 SQL 注入?
- XSS(Cross-Site Scripting) 指攻击者将恶意脚本注入网站页面,诱导用户浏览后自动执行,常用于窃取 Cookie、模拟操作、跳转钓鱼等。
- SQL 注入 是通过输入恶意 SQL 语句干扰数据库查询逻辑,从而实现读取、篡改、甚至删除数据库中的敏感信息。
这两种攻击常通过表单、搜索框、评论系统、用户提交接口等入口发起,尤其在用户输入内容未经过滤直接输出的情况下风险极高。
4.2 WordPress 中的防护建议
(1)使用官方函数过滤输入与输出
在主题或插件开发中,务必使用 WordPress 提供的 API 进行安全处理:
- 输出内容时用
esc_html()
、esc_attr()
、wp_kses()
过滤 HTML - 处理用户表单时使用
sanitize_text_field()
、sanitize_email()
等函数清洗输入
(2)禁止不可信用户上传 HTML/JS 内容
大多数站点中,用户并不需要输入富文本(带 JS 的内容),可以禁用 unfiltered_html
权限,限制非管理员角色嵌入潜在危险标签。
(3)使用准备语句防止 SQL 注入
WordPress 的 $wpdb
类支持安全的预处理查询。切忌拼接用户输入的 SQL 语句,这是造成注入漏洞的根源。例如:
$wpdb->prepare( "SELECT * FROM $table WHERE id = %d", $id );
(4)禁用危险功能接口
如无需要,可配合安全插件禁用 REST API 匿名访问、关闭 XML-RPC 接口,减少潜在入口。
(5)定期检测与审计插件主题代码
选择来自官方库或知名开发者的插件主题,并定期扫描是否存在代码注入点。建议使用安全插件如 Wordfence、WPScan 或集成平台(如 Patchstack)进行自动检测。

5. 主题与插件安全
WordPress 的灵活性很大程度上来自丰富的插件和主题生态,但也因此带来了安全隐患。如果使用来源不明、未及时更新或存在恶意代码的扩展,极容易被攻击者利用。因此,主题与插件的安全管理同样是保障网站的重要一环。
5.1 避免使用破解主题与插件
破解版本虽然看似“功能齐全、免费可用”,但往往被植入后门、广告跳转、隐藏的账号权限等恶意代码。一旦启用,攻击者可以轻松远程控制你的网站。建议只从官方库或可信开发者处下载插件与主题,避免贪图一时便宜而造成不可逆的损失。
5.2 定期更新核心 / 插件 / 主题
WordPress 官方及大部分开发者都会定期发布安全补丁和功能更新。建议开启自动更新,或每周检查一次后台更新提示,及时修复已知漏洞。尤其是安全类插件、支付类插件,更要确保版本为最新。
5.3 删除未使用的插件与主题
即使是“停用”的插件或主题,其文件仍在服务器上,仍可能被恶意利用。建议定期清理站点,仅保留当前使用的主题与必要插件,降低潜在的攻击面。
5.4 检查插件来源与评分
安装前应查看插件的更新时间、活跃安装量、用户评分和评价,尽量选择维护活跃、评价良好的扩展。对于冷门插件,可通过“WPScan 插件漏洞库”等平台查询其是否存在历史漏洞记录。
6. 文件权限与服务器配置
除了 WordPress 本身的设置,服务器层面的配置同样对安全性至关重要。合理的文件权限和 Nginx 配置可以有效阻断攻击链条,防患于未然。关于服务器的配置,Kevin's Space 会单独说明。
7. 定期备份与快速恢复方案
安全防护固然重要,但备份是最后一道保险。无论是人为误操作,还是遭受攻击后的紧急恢复,备份都是不可或缺的。推荐使用如 UpdraftPlus、BackWPup、BlogVault 等插件,设定定期自动备份计划,并将备份文件同步保存到远程位置(如 Google Drive、阿里云 OSS、FTP 服务器)。完整备份应涵盖数据库 + 文件系统,确保可一键还原。
8. WordPress 网站安全进阶防护
对于中大型站点、商业项目或流量密集型网站,可以进一步启用如下高级防护:
- 使用 WAF 防火墙服务(如 Cloudflare、Sucuri):防止 DDoS 和恶意扫描
- 部署 Fail2Ban:结合日志自动封禁异常 IP
- 自定义登录路径 + CAPTCHA 验证,提升登录安全性
- 服务器安全加固:包括 SSH 非密码登录、MySQL 权限最小化、防火墙限制端口等
- 开启完整安全审计日志:配合 WP Cerber 等插件记录所有行为,方便追踪异常
这些措施需要一定的运维基础,但对于核心业务网站来说,投入是值得的。
9. 写在最后
WordPress 本身并不脆弱,真正造成安全问题的,往往是我们忽视了最基础的保护措施。安全不是一次性的配置,而是一套持续更新、长期维护的系统性工作。
如果你愿意花几个小时搭建起一套完善的防护体系,将能为你的网站节省数倍的修复成本与时间。后续我们还将深入介绍备份方案、防火墙使用、安全监控等内容,欢迎继续关注 💕。
[…] WordPress 网站安全:从插件到设置完全指南 […]