网站性能提升

做对这些,成倍提升 WordPress 网站安全性:从登录保护到 Cloudflare Security Rules 完整指南

Danny · 2026年9月1日 · 8 分钟阅读 · 更新于 2026年9月6日

WordPress 网站被入侵,多数时候不是核心程序不安全,而是默认配置暴露了太多攻击入口。这篇文章整理了六个不依赖重型安全插件的加固动作:隐藏登录地址、禁止后台改文件、用 Cloudflare Security Rules 拦截扫描、开启 2FA、清理 admin 账号、保持自动备份,组合起来可以成倍降低暴力破解和后台入侵的风险。

WordPress 是全球最流行的网站系统之一,同时也成为攻击者重点扫描的目标。

很多网站被入侵,并不是因为 WordPress 本身不安全,而是因为默认配置暴露了大量攻击入口,例如:

  • 默认登录地址公开
  • 管理员密码容易被爆破
  • 后台允许直接修改 PHP 文件
  • 缺少边缘防护
  • 没有备份恢复机制

对于企业官网、B2B 展示站、内容博客等类型网站,并不需要安装大量重量级安全插件。通过减少攻击面、限制后台能力、增加 Cloudflare 边缘防护,可以显著提升安全水平。

一、修改 WordPress 登录地址

WordPress 默认登录入口是 /wp-login.php,攻击机器人可以批量扫描这个路径,再尝试用户名密码爆破。用 WP Hide Login 把登录地址改成自己的路径,可以隐藏默认入口,降低自动化攻击的概率。

操作路径:WordPress 后台 → Plugins → Add New Plugin,搜索 WP Hide Login,安装并启用。然后进入 Settings → General,把 Login URL 改成自己的地址,例如 /my-secure-login/

改完之后,攻击者扫描 /wp-login.php 时无法直接进入登录页面。

风险提示 Warning

修改登录地址不是唯一防护措施,要配合 Cloudflare、强密码和 2FA 一起用。单独隐藏登录地址只能降低自动化扫描的攻击概率,挡不住有明确目标的攻击。

二、通过 wp-config.php 禁止后台修改文件

如果攻击者拿到管理员权限,可以通过主题编辑器或插件编辑器直接写入恶意 PHP 代码。wp-config.php 里加两行配置,可以关掉这两个入口。下面以 Hostinger 的 hPanel 为例,其他服务器的文件管理逻辑相同。

  1. 登录 Hostinger hPanel。
  2. 按下面的路径进入文件管理器:
Hostinger hPanel

Files

File Manager

public_html

wp-config.php
  1. 打开网站目录 public_html,找到 wp-config.php,右键选择 Edit。
  2. 在文件里找到这一行:/* That's all, stop editing! Happy publishing. */
  3. 在这一行之前添加下面两行配置并保存:
/* Security hardening (add here) */
define('DISALLOW_FILE_EDIT', true);
define('DISALLOW_FILE_MODS', true);

两行配置的作用不一样:DISALLOW_FILE_EDIT 关闭后台主题和插件代码编辑,DISALLOW_FILE_MODS 禁止后台安装、删除、更新插件和主题。对大多数只需要维护内容的网站来说,插件和主题的更新可以交给托管商或 FTP 完成,关闭后台安装入口并不会影响日常使用。

这样即使管理员账号被盗,攻击者也没有办法直接在后台植入木马。

三、Cloudflare Security Rules 配置

Cloudflare 的 Security Rules 在请求到达服务器之前完成拦截,比 WordPress 层的防护更靠前。配置入口:

Cloudflare Dashboard

Security

Security Rules

Custom Rules

Create Rule

这一节配置四条规则,需要按顺序创建。第一条 Skip WAF for WordPress REST API 的 Execution Order 选 First,后面每条规则都选 Custom,并指定它在哪条规则之后执行,最终形成一个完整的防护链。

规则一:Skip WAF for WordPress REST API

如果网站使用了 AI Agent、自动发布系统或 Application Password,REST API 的请求会被 WAF 当成普通流量处理,可能出现误拦。这条规则让来自可信 IP 的 /wp-json/ 请求直接跳过 WAF 检查,保证自己的自动化流程不被 Managed Challenge 挡住。

Rule Name

Skip WAF for WordPress REST API

When Incoming Requests Match

URI Path contains “/wp-json/”

And

IP Source Address equals 你的IP地址1

Or

IP Source Address equals 你的IP地址2

Then Take Action

Skip

Log Matching Requests:Enable

WAF Components to Skip 全部勾选:

All Remaining Custom Rules、All Rate Limiting Rules、All Managed Rules、All Super Bot Fight Mode Rules、Zone Lockdown、User Agent Blocking、Browser Integrity Check、Hotlink Protection、Security Level、Rate Limiting Rules (Previous Version)、Managed Rules (Previous Version)

Execution Order

First

Status

Active

点击 Save 保存规则

规则二:保护 wp-login

登录地址隐藏之后,攻击者扫描 /wp-login.php 依然会命中默认入口。这条规则把自定义登录地址和默认入口都交给 Managed Challenge,防止暴力破解和自动扫描。

Rule Name

保护 wp-login

When Incoming Requests Match

URI Path contains “/my-secure-login/”

(my-secure-login 为演示案例,请替换为你的真实登录地址)

Or

URI Path contains “/wp-login.php”

Then Take Action

Managed Challenge

Execution Order

Select Order:Custom

Select Which Rule This Will Fire After:Skip WAF for WordPress REST API

Status

Active

点击 Save 保存规则

规则三:未授权 wp-admin 访问保护

后台目录默认拦截,但要放行已登录的管理员和正常插件请求。直接粘贴下面的表达式:

Rule Name

未授权 wp-admin 访问保护

When Incoming Requests Match

(http.request.uri.path contains "/wp-admin/")
and not (http.request.uri.path contains "/wp-admin/admin-ajax.php")
and not (http.cookie contains "wordpress_logged_in")
and not cf.client.bot

表达式的逻辑:访问 wp-admin 的请求一律进入 Managed Challenge,但带登录 Cookie 的管理员、admin-ajax.php 的插件请求和 Cloudflare 确认的机器人除外。

Then Take Action

Managed Challenge

Execution Order

Select Order:Custom

Select Which Rule This Will Fire After:保护 wp-login

Status

Active

点击 Save 保存规则

规则四:拦截扫描器

针对明显漏洞扫描工具的流量直接 Block,不让它碰到服务器。直接粘贴下面的表达式:

Rule Name

拦截扫描器

When Incoming Requests Match

(http.request.uri.path contains "/wp-content/")
and (
http.user_agent contains "nikto"
or http.user_agent contains "sqlmap"
or http.user_agent contains "fuzz"
)

nikto、sqlmap、fuzz 是常见的漏洞扫描工具特征,命中 /wp-content/ 目录时直接拦截。

Then Take Action

Block

Execution Order

Select Order:Custom

Select Which Rule This Will Fire After:未授权 wp-admin 访问保护

Status

Active

点击 Save 保存规则

四条规则按 Skip WAF for WordPress REST API → 保护 wp-login → 未授权 wp-admin 访问保护 → 拦截扫描器 的顺序执行,和之前写的安全响应头配置可以搭配使用,把 Cloudflare 边缘防护做完整。

四、开启双因素认证

密码泄露之后,攻击者还需要第二层验证码才能登录。安装支持 2FA 的插件,比如 Two Factor Authentication,然后用 Google Authenticator 或 Authy 这类验证器扫码绑定。

开启之后,管理员账号被盗的风险会大幅降低,密码本身泄露也不再是致命问题。

五、管理员账号不要使用 admin

攻击者爆破时优先尝试的用户名就是 admin 和 administrator。到 WordPress 后台 → Users,新建一个管理员账号并替换默认账号,然后把旧的删掉,或者直接改掉默认用户名。

这样攻击者需要同时猜测用户名和密码,爆破成本成倍提高。日常给协作者开权限时,也可以用临时登录链接,避免长期暴露管理员账号。

六、保持自动备份

任何安全措施都不能保证 100% 安全,备份是最后的恢复手段。

Pro Tip 运维小技巧

建议每天自动备份一次,保留 7-30 天历史版本。备份范围包括数据库、wp-content、主题、插件和上传文件,只备份数据库在恢复时往往不够。

很多托管商自带自动备份功能,比如 Hostinger 这类 WordPress 托管,控制面板里就能配置每日备份和一键恢复,不需要额外装插件。

发生木马、文件损坏或错误配置时,有备份就能快速恢复到正常状态。

总结

一个安全的 WordPress 网站不依赖单一插件,而是采用多层防护。把下面几层叠加起来,才能覆盖从扫描到入侵再到数据丢失的完整链条:

防护层对应操作主要作用
登录保护WP Hide Login + Cloudflare 规则降低暴力破解和自动扫描
后台限制DISALLOW_FILE_EDIT / DISALLOW_FILE_MODS防止后台植入木马
边缘防护Cloudflare Security Rules请求到达服务器前完成拦截
身份验证2FA密码泄露后仍有第二道锁
账号管理清理默认 admin 用户名提高爆破成本
数据备份每日自动备份快速恢复,最后兜底

完成这些配置后,可以显著降低暴力破解、自动扫描、后台入侵、木马植入、数据丢失这几类风险。

Key Takeaway 核心结论

对企业官网和 B2B 网站来说,这是一套轻量、高效、低维护成本的 WordPress 安全加固方案:不装一堆重量级安全插件,把攻击面收住,剩下的交给 Cloudflare 和备份兜底。

更多类似指南,
每周四送达。

主机评测、建站对比、性能优化技巧和插件推荐 — 每周为 WordPress 站长和建站者精选。