2012-10-25 38 views
0

搜索了一段时间后,我仍然无法找到正确的解决方案,我的问题;如何确保浏览器被重定向到https应用程序url。由于画布应用是iframe,因此我们无法将window.top.location更改为https等效。Facebook的帆布应用程序:强制SSL

如果访问者来到

http://apps.facebook.com/app_name/

我想他重定向到

https://apps.facebook.com/app_name/

完全无法使用JavaScript将其固定在自top.location画布上加载的应用程序由于跨域原始规则,不可能篡改。它可以通过Facebook实施的重定向规则很容易地修复,我很惊讶它不是Facebook应用安装中的强制SSL的复选框。我们不希望我们的游戏可以通过http访问。

我已经测试设置两个帆布URL和安全画布URL指向HTTPS URL,但它给出了这个错误(跨域麻烦):不安全的JavaScript尝试与URL http://apps.facebook.com/app_name/从框架访问框架与URL https://s-static.ak.facebook.com/

请指教。

回答

1

好吧,所以它可能重定向的顶部窗口。当我第一次测试时,我一定有一个错字。这个微小的脚本做的伎俩:

<script> 
if (window.location.protocol == 'http:') { 
    window.top.location = 'https://apps.facebook.com/app_name/'; 
} 
</script> 

不过,我仍然不明白为什么这不是在Facebook上的应用程序设置的选项。使用服务器端重定向规则可以提高效率和用户友好性。

相关问题