WordPress 防止被黑是一个系统工程,涉及核心安全、插件/主题管理、服务器配置、运维监控等多个层面。以下是针对开发者和管理员的全面防护指南。
一、 核心安全加固
1. 密钥与认证
- 强化 wp-config.php:这是 WordPress 的“心脏”,必须严防泄露。
- 移动 wp-config.php:将其移动到 WordPress 根目录的上一级目录(如果服务器支持),这样即使网站被入侵,攻击者也无法通过 Web 直接访问该文件。
- 设置权限:将文件权限设置为
400或440(只读),防止被篡改。
- 使用强认证密钥:确保
wp-config.php中的AUTH_KEY,SECURE_AUTH_KEY等密钥足够长且随机。可以使用 WordPress 官方密钥生成器生成。
2. 数据库安全
- 修改表前缀:安装时不要使用默认的
wp_前缀,改为自定义的(如wp9a8b7c_)。如果是旧站,可以使用插件(如 Better Search Replace)安全地批量修改。 - 限制数据库用户权限:为 WordPress 数据库创建一个专用用户,并只授予
SELECT,INSERT,UPDATE,DELETE权限,不要授予DROP,CREATE等高危权限。
3. 文件权限
- 目录权限:通常设置为
755。 - 文件权限:通常设置为
644。 - wp-content 目录:设置为
755,但其中的uploads目录可能需要755以支持上传,需结合服务器配置调整。 - wp-config.php:设置为
400或440(只读)。
4. 隐藏 WordPress 信息
- 移除版本号:在主题的
functions.php中添加代码移除头部生成的 WordPress 版本号,防止攻击者利用特定版本的漏洞。remove_action('wp_head', 'wp_generator'); - 禁用 XML-RPC:如果不需要远程发布(如手机 App 发布),建议禁用 XML-RPC,因为它常被用于暴力破解。可以通过
.htaccess(Apache)或插件禁用。
二、 插件与主题管理
1. 来源与更新
- 官方来源:只从 WordPress 官方插件库或信誉良好的商业作者处下载插件/主题。
- 及时更新:保持 WordPress 核心、插件和主题更新到最新版本,以修复已知的安全漏洞。
- 删除闲置项:删除所有不使用的插件和主题(包括默认的 Twenty 系列主题),减少攻击面。
2. 安全扫描
- 使用安全插件:安装并配置安全插件,如 Wordfence Security、Sucuri Security 或 iThemes Security。这些插件可以提供防火墙、恶意文件扫描、登录尝试限制等功能。
- 定期手动检查:定期检查
wp-content目录下是否有可疑的 PHP 文件(特别是文件名怪异的文件),以及主题文件中是否被插入了恶意代码(如 Base64 编码的代码)。
三、 服务器与访问控制
1. Web 服务器配置
- 限制 PHP 执行:在
wp-content/uploads目录下创建.htaccess文件(Apache),禁止 PHP 文件执行,防止上传的图片木马被执行。<Files *.php> deny from all </Files> - 保护敏感文件:通过
.htaccess或 Nginx 配置限制对wp-config.php、.htaccess等文件的直接访问。
2. 登录安全
- 强密码策略:强制使用包含大小写字母、数字和特殊字符的强密码。
- 限制登录尝试:使用插件或服务器配置限制每分钟的登录尝试次数(如 3-5 次),防止暴力破解。
- 更改登录地址:将默认的
/wp-admin和/wp-login.php路径改为自定义路径(如/my-secret-admin)。 - 双因素认证 (2FA):启用双因素认证,即使密码泄露,攻击者也无法登录。
3. 备份与监控
- 定期备份:定期全站备份(文件+数据库),并存储在异地(如云存储)。确保备份方案包含“一键还原”功能。
- 安全监控:使用服务(如 Sucuri、Wordfence 的云端服务)监控网站是否被挂马或被列入黑名单。
- SSL 证书:全站启用 HTTPS,防止数据在传输过程中被窃取。
四、 运维习惯
- 最小权限原则:只给用户分配完成工作所需的最小权限。
- 审计日志:定期检查网站的访问日志和错误日志,寻找可疑的访问模式(如大量 404 错误、扫描特定文件路径的请求)。
- 隔离环境:如果可能,将网站部署在容器或虚拟环境中,与其他应用隔离。
总结:WordPress 安全 = (强密码 + 及时更新) + (最小权限 + 访问控制) + (主动监控 + 应急备份)。


湘公网安备43020002000238