从安全画布页面链接到不安全的页面不再适用于Chrome

时间:2013-10-05 08:46:42

标签: facebook google-chrome ssl facebook-apps

看起来最新的Chrome更新通过收紧混合内容(https / http)安全策略打破了这一点,我读到Firefox也计划这样做。

问题在于:

假设我将应用的安全画布网址设置为https://themediadudes.com/httpstest/

该页面仅包含指向Google的链接:

<a href="http://www.google.com">Google</a>

当我在Facebook上查看应用程序并单击该链接时,没有任何反应。控制台中出现错误:

  

[已屏蔽] https://apps.facebook.com/myappname/处的页面不安全   内容来自http://www.google.com/

我知道不允许在https页面上安装不安全的脚本/样式表等,但是不应该阻止到不同网站的简单链接吗?我假设Facebook在发送用户之前运行了一些与页面有关的脚本?这导致错误。

如果我将链接的目标设置为_top或_blank,则可以正常工作。

理想情况下,我希望能够使用javascript window.location将用户发送到此不安全的URL或标头('Location:blah');用PHP。但这些都不起作用。看起来这是一个更大的问题,如果即使是一个不安全的URL的简单链接也不起作用。

我认为这可能是由于任何使'流畅'画布宽度和画布高度设置起作用的原因造成的。但我尝试将宽度和高度设置为固定,问题仍然存在。

是否有人有解决方案或解决方法,或者任何人至少可以对此有所了解? 感谢

1 个答案:

答案 0 :(得分:1)

我一直在努力解决类似的问题,答案似乎是根本不可能从您的页面标签应用中引用任何非https资源。当然,如果谷歌链接是您所需要的,那么这只是解决了(因为谷歌当然有https版本),但引用外部非https网站将始终在chrome中显示此警告/块

此外,我应该补充一点,我注意到“页面标签页”部分需要一个特定页面的URL,而“画布URL”需要链接到一个目录。这似乎没有记录,并且还会在chrome中提供不安全的内容消息并阻止加载页面选项卡应用