如何防止运营商内容劫持(http劫持)
目前来看,根据我的经验,运营商内容劫持是通过白名单策略进行的,主要是针对高流量的访问地址,如微信API,jiathis分享代码,微博网页等进行.
主要表现为js脚本注入,和 html内容 注入.自己的JS代码.
因此,就预防来说,比如,页面引入了,第三方这类JS代码的,要改为HTTPS方式如
<script type="text/javascript" src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
改为
<script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
二是自己站的页面也可能被注入广告代码,一般是在 <body>标签后面,或</body>标签前面注入,所以,我们可以在页面最开始,和最后,分别放入以下代码
<!--!DOCTYPE html> <html> <head> </head> <body> </body> </html-->
以达到迷惑敌人的目的,这段代码,就是引诱作用, 使运营商注入了也不会显示出来,因为注释掉了.
三是使用CSP 全称为 Content Security Policy,即内容安全策略。主要以白名单的形式配置可信任的内容来源,在网页中,能够使白名单中的内容正常执行(包含 JS,CSS,Image 等等),而非白名单的内容无法正常执行,从而减少跨站脚本攻击(XSS),当然,也能够减少运营商劫持的内容注入攻击。
四是全站使用HTTPS啦,这是最好的方法,但是也要注意,引入第三方网站的JS时,不能用HTTP方法,要改为HTTPS方式,如果第3方网站 不支持HTTPS连接,那就可以把第三方网站的JS保存下来,放到自己网站上,进行HTTPS连接.
相关博文
如何防止运营商内容劫持(http劫持)