Javascript 我的脚本被一些移动运营商内联-如何处理?

Javascript 我的脚本被一些移动运营商内联-如何处理?,javascript,web,content-security-policy,Javascript,Web,Content Security Policy,有些页面在手机上接收不正确(法国有很多):JavaScript脚本元素是内联的 而不是 <script src="static/jquery-2.1.3.min.js"></script> 我有 <script> ... content of the whole jQuery script ... </script> 。。。整个jQuery脚本的内容。。。 由于我设置的内容安全策略头禁止内联脚本,现代浏览器会阻止脚本的执行 除了使用H

有些页面在手机上接收不正确(法国有很多):JavaScript脚本元素是内联的

而不是

 <script src="static/jquery-2.1.3.min.js"></script>

我有

 <script> ... content of the whole jQuery script ... </script>
。。。整个jQuery脚本的内容。。。
由于我设置的内容安全策略头禁止内联脚本,现代浏览器会阻止脚本的执行

除了使用HTTPS,还有其他方法可以解决这个问题吗?也许可以通过某种方式指定页面不应由第三方重写

注:

  • CSP头对于执行转换的第三方来说并不是足够的提示
  • 缓存控件:无转换
    标题也被忽略
  • 任何涉及添加内联脚本的答案都不是答案,因为目标是为了安全起见删除所有内联脚本
  • 问题与补充脚本的注入无关(这不会破坏我的网站,因为浏览器被指示不执行它们),而是与现有脚本的内联有关
  • 这个问题不是针对任何运营商的:我正在寻找一个(合理的)通用解决方案

这不是最优雅的解决方案,但您可以通过更改文件扩展名(这可能会导致您发送的头中的mime类型发生变化)来诱使ISP认为它不是js资源


将文件作为
jquery.java
或其他扩展名提供。再说一次,这不是最优雅的解决方案,但正如塔德曼在评论中所说的那样,有时对付混蛋并不容易

您要求提供避免HTTPS的解决方案,但这是您应该做的。对您的所有内容使用HTTPS,不要让这些“有用的”MITM破坏它

给自己找一份工作(从2015年9月开始)


目前被接受的解决方案只是玩一个猫捉老鼠的游戏。如果您关心安全性(必须为CSP头提供服务),您需要停止此类攻击,而不是试图隐藏它。

您能告诉我们您在说什么吗?这似乎有点模糊。另外,您还没有告诉我们您正在使用什么服务器端语言或框架来交付这些内容。你确定是移动运营商吗?如果是,你有什么把握?您运行了哪些测试来确定这一点?@GeorgeStocker我从各种设备上查看。他们中的大多数人都会收到普通版本(而且似乎与用户代理或类似您可以轻松模仿的东西无关)。在模拟模式下使用桌面Chrome打开该页面肯定不会显示任何内联脚本,因此听起来肯定像是代理/ISP问题。为什么要避免使用HTTPS?这是HTTPS解决的经典场景。米特姆。特别是因为如果它们内联到您的脚本中,您无法确定它们是否也注入了恶意。jquery.java是对世界上java和javascript开发人员的最大侮辱+1它似乎在工作(可能是由于错误的头,但我可能对ISP有太多的看法,认为他们知道HTTP头是什么),如果您正在这样做,例如Thank@rlemon,您不能使用CDN托管的LIB,您的解决方案现在在miaou上运行,移动用户可以再次连接。@SecondRikudo我真的不喜欢旧版本的IE。顺便说一句,我只为移动用户提供那些重命名的JS文件。但是你的评论可能会帮助其他用户。这并不能真正回答这个问题(FTR我的服务器现在是用HTTPS提供的)。