当前位置:网站首页 >  百科

WordPress站点异常检测实用技巧 从手动排查到自动监控全流程实操指南

时间:2026年05月25日 22:20:45 来源:易频IT社区

前置准备

提前准备3项权限,缺任意一项都要先找主机服务商获取:站点FTP/SSH权限、WordPress后台管理员权限、服务器控制台权限。

第一步:前端异常快速排查(5分钟完成)

1.1 站点可访问性检测

打开多节点检测工具:https://tool.chinaz.com/sitespeed ,输入站点域名,查看全国节点访问状态。判断规则:超过3个节点无法访问,优先排查服务器防火墙、带宽欠费问题;状态码403对应权限/防火墙拦截,404对应页面路径不存在,502/503对应后端PHP/数据库服务故障,500对应代码报错。

1.2 前端内容异常检测

开启浏览器隐私模式访问站点,依次检查:首页是否弹出非法广告、是否自动跳转博彩/色情站点、底部是否有未自行添加的灰色行业外链、文章内容是否被插入垃圾导流内容。出现任意一种情况,说明站点已被植入恶意代码。

第二步:后台与代码层异常排查(10分钟完成)

2.1 WordPress后台异常排查

登录后台后依次操作:第一检查用户列表:删除陌生的管理员权限账号,所有管理员账号密码修改为12位以上大小写+数字+特殊字符的组合;第二检查插件/主题列表:删除未自行安装的陌生插件、主题,所有官方插件/主题升级到最新版本;第三检查内容列表:批量删除未自行发布的垃圾文章、页面。

2.2 核心文件完整性校验

优先用WP-CLI工具校验,未安装的先执行安装命令: ``` curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar && chmod +x wp-cli.phar && mv wp-cli.phar /usr/local/bin/wp ``` 进入站点根目录后执行校验命令: ``` wp core verify-checksums --allow-root ``` 如果提示文件缺失、哈希值不匹配,说明核心文件被篡改,执行覆盖命令(不会删除wp-content目录和wp-config.php配置,不影响站点内容): ``` wp core download --version=$(wp core version --allow-root) --force --allow-root ```

2.3 恶意代码扫描

WordPress站点异常检测实用技巧 从手动排查到自动监控全流程实操指南

可登录后台的直接搜索安装Wordfence安全插件,启用后进入Scan页面点击Start New Scan,按照告警提示删除恶意文件、替换为官方原版文件即可。无法登录后台的执行SSH扫描命令: ``` find /www/wwwroot/替换为你的站点根目录 -type f -name ".php" | xargs grep -l "eval(\|base64_decode\|gzinflate" > malicious_files.txt ``` 执行完成后查看malicious_files.txt文件列表,非官方自带的陌生文件直接删除。

第三步:服务端异常排查(10分钟完成)

3.1 服务器资源占用检测

SSH执行top命令查看CPU、内存占用率,陌生进程占用CPU超过30%的直接kill,再溯源删除对应进程文件;执行df -h查看磁盘占用率,磁盘满的优先删除站点缓存、日志文件,避免站点崩溃。

3.2 访问日志异常检测

进入站点日志目录(宝塔面板默认路径为/www/wwwlogs/你的域名.log),执行命令统计高频访问IP: ``` awk '{print $1}' /www/wwwlogs/替换为你的域名.log | sort | uniq -c | sort -nr | head -20 ``` 单个IP1小时内访问超过1000次的属于CC攻击,直接加入服务器防火墙黑名单。如果存在大量/wp-login.php、xmlrpc.php的访问请求,直接在nginx站点配置中加入以下规则(替换对应参数后重载nginx生效): ``` location ~ ^/(wp-login\.php|xmlrpc\.php) { allow 替换为你自己的公网IP; 公网IP查询地址:https://ip138.com deny all; fastcgi_pass unix:/tmp/php-cgi-74.sock; 替换为服务器对应PHP版本的sock路径 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } ```

第四步:自动异常监控配置(一次配置长期生效)

4.1 站点可用性监控

用开源工具Uptime-Kuma配置自动监控,服务器安装docker后执行部署命令: ``` docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1 ``` 部署完成后访问http://你的服务器IP:3001,添加站点监控,设置5分钟检测一次,异常时触发邮件、企业微信、钉钉告警即可。

4.2 站点文件变更监控

安装inotifywait监控工具: ``` yum install inotify-tools -y CentOS系统执行 apt install inotify-tools -y Debian/Ubuntu系统执行 ``` 创建监控脚本watch_wp.sh,复制以下内容(替换对应参数): ``` !/bin/bash WATCH_DIR="/www/wwwroot/替换为你的站点根目录" LOG_FILE="/var/log/wp_file_change.log" inotifywait -mrq --timefmt '%Y-%m-%d %H:%M:%S' --format '%T %w%f %e' -e modify,create,delete,move $WATCH_DIR >> $LOG_FILE 替换为你自己的告警接口地址,没有可以删除这行 curl -X POST "替换为你的告警接口地址" -d "content=站点文件发生变更:$(tail -1 $LOG_FILE)" ``` 执行命令设置开机自启: ``` chmod +x watch_wp.sh && nohup ./watch_wp.sh & echo "nohup /root/watch_wp.sh &" >> /etc/rc.local ``` 后续站点文件发生任何变更都会实时触发告警。

异常处理后收尾操作

所有排查修复完成后,第一时间备份全站文件和数据库,存储到本地或第三方云存储,避免后续出现异常无法快速恢复。每周执行1次全流程检测,及时更新WordPress核心、插件、主题到最新版本,降低漏洞被利用的风险。

相关推荐

最新

热门

推荐

精选

标签

易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。

Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图