上传到S3 - Chrome / Firefox中新的“不安全脚本”AKA“运行不安全内容”错误

时间:2013-10-16 17:47:44

标签: javascript google-chrome firefox file-upload amazon-s3

在我的Rails应用程序中,我让用户直接将文件上传到S3。我通过iframe执行此操作,并使用Javascript进行上传。

最近(例如在上个月内),Chrome(和Firefox)的安全设置中发生了一些变化,因此它不再自动运行此脚本。相反,我的上传脚本的某些部分默认为阻止。这意味着上传失败,除非您单击URL栏右侧显示的屏蔽(请参阅附件)并明确允许脚本运行。

Shield

有没有人知道如何解决这个问题,以便我的用户不必每次都点击这个盾牌(例如,有没有办法?或者有人知道如何开始识别哪个脚本是“未经验证的,“所以我可以避免让这个问题开始出现?

仅供参考,在屏幕出现的同时,我的开发者控制台中会弹出一个错误:

[blocked] The page at https://www.my_domain.com/seekers/new ran insecure content from http://s3.my_domain.com.s3.amazonaws.com/.

这是否意味着不安全的内容来自http://s3.[my_domain].com.s3.amazonaws.com/

2 个答案:

答案 0 :(得分:0)

  

这是否意味着不安全的内容来自http:// s3。[my_domain] .com.s3.amazonaws.com /?

  

有谁知道如何解决这个问题,以便我的用户不必每次都点击这个盾牌(例如,有没有办法?

除了从https域提供所有active content之外别无他法。无论如何,允许这样的内容是一个真正的安全漏洞:它允许中间人攻击者替换飞行中未加密的数据流,允许他在安全站点的上下文中执行任意代码(窃取用户数据,用户会话或弄乱用户数据)。

  

或者是否有人知道如何开始识别哪个脚本是“未经身份验证的”,这样我就可以避免出现此问题?

Firefox会显示完整的URL,甚至是启动加载的粗略位置(包括从其他脚本启动的行号)。例如。脚本标签:

Blocked loading mixed active content "http://example.org/test.js" @ https://example.org/testblock.html

从另一个脚本注入脚本(注意行号):

Blocked loading mixed active content "http://example.org/test2.js" @ https://example.org/testblock.html:7

答案 1 :(得分:0)

结帐https://pages.github.com/。您可以将项目页面链接到包含.js文件的存储库,然后使用.io路径指向文件,使用https://

在应用程序中获取它们