.htaccess存在异常代码导致WordPress wp-admin反复跳转无法登录求助
第一步:临时锁定站点避免恶意脚本持续写入
- 先通过主机控制面板或者SSH将整个站点目录权限临时设置为只读,或者暂时暂停站点运行,防止恶意进程持续覆写你修改的文件。
- 备份当前所有站点文件和数据库,哪怕已经被感染,备份可以留作后续溯源使用。
第二步:排查并删除恶意注入的后门文件
你遇到的.htaccess被自动覆写、wp-config.php权限被篡改,说明站点已经被植入了webshell后门,常见排查路径:
- 检查WordPress根目录、
wp-content/uploads、wp-content/plugins、wp-content/themes目录下的异常文件,比如命名奇怪的php文件(例如单字母命名的php文件、伪装成图片的xxx.jpg.php,还有你异常配置里出现的lock360.php、wp-l0gin.php这类非官方默认文件直接删除) - 扫描所有php文件,排查包含
eval、base64_decode、assert、$_POST/$_GET拼接执行的恶意代码 - 删除所有非你自行安装的插件、主题,默认官方自带的插件主题如果被篡改也直接替换成官方原版文件
第三步:修复被篡改的系统文件
- 下载和你当前站点版本完全一致的WordPress官方安装包,覆盖所有核心文件(
wp-admin、wp-includes目录下所有文件,根目录下的wp-login.php、index.php等默认核心文件,注意不要覆盖wp-content目录和wp-config.php) - 手动修改
.htaccess为WordPress默认配置,默认代码如下:
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule>
- 修复
wp-config.php权限,先把权限修改为644,检查文件内是否有被注入的恶意代码,确认无异常后可以设置为444增强安全性,注意是你确认无异常后再设置只读,不是被恶意篡改的只读状态。
第四步:排查并修复权限配置
- 站点目录权限统一设置为
755,文件权限统一设置为644,不要给任何文件或目录777权限 - 确保php运行用户的权限仅限定在站点目录范围内,禁止跨目录执行
- 检查主机计划任务(crontab),是否有被添加的恶意定时任务,比如定时恢复
.htaccess或者定时下载后门脚本的任务,发现后直接删除。
第五步:后续安全加固
- 立即修改WordPress后台所有管理员账号密码、数据库密码、主机SSH/FTP/控制面板密码,密码复杂度要求8位以上包含字母数字特殊字符
- 安装WordPress安全插件,限制后台登录失败次数,隐藏后台登录地址
- 及时更新WordPress核心、插件、主题到最新版本,避免已知漏洞被利用
- 定期扫描站点文件变更,出现异常修改立即排查。
内容的提问来源于stack exchange,提问作者Mark Daniel
相关产品推荐
相关产品推荐

