网站被劫持是一个令人头疼但又频繁出现的问题。尤其是中小型站点、WordPress博客、电商站点,更是黑客的“练手”目标。一旦被劫持,网站用户可能会被重定向到灰色行业站点,不仅损害用户信任,也严重影响搜索引擎排名。本文将讲解网站被劫持怎么办教你常见的几种解决方法。
一、网站被劫持的常见几种表现
1、移动端访问被跳转到广告页面
2、百度或谷歌搜索网站标题时显示奇怪的关键词
3、打开网页时出现不属于你网站的弹窗广告
4、查看源代码发现夹杂有不明JavaScript代码
5、网站访问速度变慢,异常跳转频繁
方法一:代码查杀 + 文件清理
通过 SSH 或 FTP 下载整站代码,使用代码编辑器搜索包含关键词如 base64, eval, unescape, document.write, iframe, window.location 等。尤其注意:
header.php / footer.php / functions.php
/uploads/, /cache/, /tmp/ 等文件夹
自定义 JS、CSS 文件中的隐藏跳转
可结合安全工具如 VirusTotal、Sucuri SiteCheck、360网站卫士进行批量检测。
清除后门并更换所有账号密码
很多攻击者在初次入侵后会植入“后门脚本”,便于二次进入。建议将站点代码全量备份后,逐一删除异常文件,并使用杀毒脚本进行查杀。随后务必修改:
FTP/SFTP、SSH 密码
数据库密码
CMS 后台管理员密码
方法二:数据库修复 + SEO恢复
劫持者不仅会注入脚本,还可能篡改数据库内容。在文章内容中插入暗链、跳转代码或关键词堆砌段落。因此需登录数据库管理工具(如phpMyAdmin):
检索content, description, meta, title 字段
排查是否有植入的 JS 脚本或 iframe 标签
使用 SQL 查询批量替换或清空异常字段内容
完成数据库修复后,还需向 Google Search Console 提交“恢复请求”,说明已完成清理,并请求取消“被黑提示”。注意:恢复可能需等待几天时间。
方法三:DNS检测 + 主机环境加固
若代码与数据库无异常,但仍发生跳转,有可能是 DNS 劫持或服务器软件配置被篡改:
DNS劫持检测方式
1、使用 dig, nslookup, ping 命令查询域名解析结果,是否被解析到陌生 IP
2、通过第三方服务如 dnschecker.org 检测不同国家地区的 DNS 状态
3、如确认 DNS 被篡改,需登录域名注册商后台检查 DNS 设置,重置为正规解析(如 Cloudflare、阿里云等),并开启 DNSSEC 防护。
进行主机环境加固
1、禁止PHP执行上传目录代码(配置 .htaccess 或 nginx 指令)
2、设置文件权限为 644(文件)与 755(目录)
3、定期备份并监控服务器运行状态,启用 fail2ban、iptables 等防护工具
网站被劫持常见问答
Q1、网站劫持后多久能恢复排名?
A1、一般在清除问题、提交 Search Console 恢复请求后,3-10天内可初步恢复,但完整恢复需数周甚至更久。
Q2、劫持代码能自动识别清理吗?
A2、部分安全插件或工具能检测已知特征,但复杂劫持常用混淆代码,应配合人工查验源代码。
Q3、为什么我本地访问正常,别人说有跳转?
A3、攻击代码可能设置条件触发,如仅对搜索引擎蜘蛛或国外 IP 生效。本地访问并不代表网站安全。