1.我的网站js,加载自己网站的jquery 被强行302
被污染的jquery
2. 没有被污染的js。
3.网站页面源码
4. 被302后,强行添加一句话。
5.这句话加载了广告。
https://imququ.com/post/subresource-integrity.html
我按此文章修改了一下。
<script type="text/javascript" src="/js/jquery.js" integrity="sha256-FxfqH96M63WENBok78hchTCDxmChGFlo+/lFIPcZPeI="></script>
这样被篡改的js就通不过浏览器的验证。就会加载失败。当然功能也不能用了。
6. 对于不兼容的integrity 的浏览器,进行屏蔽广告操作。
<style> html{display : none ; } </style> <script> if( self == top ) { document.documentElement.style.display = 'block' ; } else { top.location = self.location ; } </script>
7. 同时 还启用了 csp 文章见 https://blog.html5funny.com/2016/03/24/stop-xss-with-csp/
Content-Security-Policy:default-src * data: blob:;script-src 'self' *.doubleclick.net *.googlesyndication.com *.googletagmanager.com *.google-analytics.com *.googleadservices.com *.google.com res.wx.qq.com 127.0.0.1:* 'unsafe-inline' 'unsafe-eval' blob:;style-src * 'unsafe-inline' data:;img-src * data: