自己的网站出现了广告

图片描述

图片描述

出现的频率大概百分之一。
网站的源代码里没这些,不知道是不是服务器有病毒,还是引入的js文件有问题。
想请教各位为什么会出现这种情况,以及可能的解决方法。谢谢大家。

阅读 12.4k
18 个回答
  1. 如果是js有问题的话,在js源码中搜索广告的域名或ip

  2. 服务器中毒几率一般不大,可以留到最后做

  3. DNS劫持,这个是最恶心的,也是发生频率最高的,除了升级HTTPS暂时没发现解决方案

  1. 运营商劫持,常见于某国电信,打电话去投诉;

  2. 路由器劫持,题主换个地方换个网络环境再试试;

  3. 服务器或者 DNS 劫持,同意楼上升级 HTTPS;

有2种可能性,1是你服务器的DNS被劫持了(包括你引入的js代码的url可能会携带广告),2是你服务器中毒了。

内容被篡改了。
你确认一下是服务器上源代码被修改了,还是在网络传输过程中被篡改的。
如果是传输过程中被修改的,那么尝试使用探测工具(17ce、站长工具等),看看哪些地区/运营商请求内容被篡改。可以尝试联系当地运营商投诉。
看到很多说“DNS劫持”的。是不是把DNS劫持和HTTP会话劫持(内容篡改)搞混了?
DNS劫持是只DNS服务器在对域名进行解析的时候就出问题了(DNS返回了一个假的IP,然后浏览器向那个假的IP服务器发请求),DNS解析是不区分HTTP/HTTPS的;
HTTP会话劫持是指在传输过程中,对内容进行了篡改,或者是不等源站服务器响应,先伪造一份内容返回给请求者(当真正源站响应内容到达时 就被丢弃了);
还有一种可能,就是源服务器上内容被篡改了,不是传输过程中的问题。
(不过题中说道概率性出现,所以应该是传输过程中的问题)

你用了第三方的插件脚本,里面嵌套了广告,找到后删除掉就可以了

检查一下有没有使用过svg?把里面的广告链接去掉就行。

打开你的网站,然后按下F12打开开发者工具。

切换到如下图所示的选项卡

clipboard.png

然后刷新你的页面,先把选项卡选到all,等加载完毕后再切换到js,看看有哪些js是多余的,然后去掉。

既然是自己的网站,那就升级https吧,很简单的。
Let’s Encrypt早就提供免费的SSL证书给大家使用,它颁发的证书已被各大浏览器(Chrome,Firefox,Safari)承认。它颁发的证书有效期为90天,每隔90天你需要更新。更新也很简单,只需执行一条命令。
Let’s Encrypt 官网:https://letsencrypt.org/
我写了一篇CentOS 7上Nginx配置Let’s Encrypt的教程,地址为https://www.obneer.com/secure...

dns劫持 用https基本能解决

临时处理的话可以直接用css隐藏之。

其实。。。简单一点的方法是,你用js手动将这个广告元素给remove掉。。。

问题找到了,是dns劫持。谢谢大家的回答

使用https吧。免费如Let’s Encrypt
嫌麻烦可以上GoGetSSL.com,有免费的COMODO,收费的也便宜。

碰到这种问题,只能说是运营商dns劫持,流氓的一塌糊涂,你就算手动用js给去掉,别人比如说用移动访问又多了新的广告代码,完全防不胜防,建议升级https,有免费的可以使用,如果是公司的,建议使用收费

解决方法:

  • meta 里面加上白名单

  • 升级成https

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题