最近,Chrome已停止显示通过jsonp加载的数据,错误
[已屏蔽] https://user.example.com/category/12345处的页面内容来自http://livedata.example.com/Data.svc/jsonp/GetData?category=12345&callback=_jsp&_1346417951424=的不安全内容。
它仍适用于所有其他浏览器,并已在运行Chrome的多台计算机上得到确认。
我之前看到过这个问题的唯一提法是,该页面是从Google自己的某个域提供的(我猜是Google Apps的安全功能吗?),这是现在所有域名都已启用的内容最新版本的Chrome?
理想情况下,我们不希望在我们的livingata子域上启用https,因为它会导致额外的服务器负载,数据全部公开,因此不需要加密它。
答案 0 :(得分:19)
它绝对应该阻止它 - 它是不安全的并打破了HTTPS的承诺。
通过创建指向目标的<script>
资源来完成JSONP资源提取。这意味着目标服务器可以在包含页面上运行它喜欢的任何JavaScript,因此任何中间人都可以将任意脚本注入到所谓的受HTTPS保护的页面中(例如添加键盘记录器,或者完全替换页面内容) )。来自HTTP的<script>
的HTTPS页面不比普通的HTTP页面安全。
如果您希望HTTPS页面能够访问它,则需要提供数据Feed的HTTPS版本。否则浏览器应该至少产生警告。 Chrome现在默认为阻止不会改变问题的性质,它只是给你额外的推动,你需要正确修复它。
答案 1 :(得分:7)
<script src="//domain.com/script.js"></script>
解决问题...如果https访问站点,则会自动将协议设置为https。