【问题标题】:Facebook Canvas app: Force SSLFacebook Canvas 应用程序:强制 SSL
【发布时间】:2012-10-25 21:11:41
【问题描述】:

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

如果访客来到

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

我希望他重定向到

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

完全无法在画布中加载的应用程序中使用 javascript 修复它,因为 top.location 由于跨域来源规则而无法篡改。它可以通过 Facebook 实现的重定向规则轻松修复,我很惊讶它不是 Facebook 应用程序设置中用于强制 SSL 的复选框。我们不希望我们的游戏可以通过 http 访问。

我已测试将 Canvas URL 和 Secure Canvas URL 都设置为指向 https url,但这会产生此错误(跨域问题): Unsafe JavaScript attempt to access frame with URL http://apps.facebook.com/app_name/ from frame with URL @ 987654324@

请指教。

【问题讨论】:

    标签: facebook ssl canvas


    【解决方案1】:

    好的,所以 可以重定向顶部窗口。我第一次测试时一定有错字。这个小脚本可以解决问题:

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

    但是,我仍然不明白为什么这不是 Facebook 应用设置中的选项。使用服务器端重定向规则会更加高效和用户友好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-19
      • 2015-09-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多