有些网页在手机上没有正确接收(法国有很多网页):内嵌了JavaScript脚本元素。
而不是
<script src="static/jquery-2.1.3.min.js"></script>
我有
<script> ... content of the whole jQuery script ... </script>
由于我设置的内容安全策略标题禁止内联脚本,现代浏览器会阻止脚本的执行。
除了使用HTTPS之外,有没有其他方法可以解决这个问题?也许某些指定页面的方法不应该被第三方重写?
注意:
Cache-Control:no-transform
标题也会被忽略答案 0 :(得分:6)
不是最优雅的解决方案,但您总是可以尝试通过更改文件扩展名来欺骗ISP认为它不是js资源(这可能会导致您发送的标头中mime类型的更改)。 / p>
将文件投放为jquery.java
或其他扩展程序。同样,不是最优雅的解决方案,但正如tadman在评论中所说,有时候处理混蛋并不容易。
答案 1 :(得分:0)
您要求提供避免HTTPS的解决方案,但这就是您应该做的事情。对所有内容使用HTTPS,并停止让这些“有用”的MITM破坏它。
给自己free TLS certificate(从2015年9月开始)。
目前公认的解决方案是玩猫捉老鼠游戏。如果你关心安全性(你必须服务于CSP标题),你需要阻止这种攻击,而不是试图隐藏它。