Facebook画布应用程序HTTPS和HTTP

Pri*_*ome 5 php ssl facebook facebook-canvas

我创建了两个Facebook画布应用程序.我在访问应用程序时遇到问题.在应用设置中,您必须输入:

Canvas URL Secure Canvas URL

Secure Canvas URL不接受HTTP链接,但只接受HTTPS.当我的一些用户访问我的应用程序链接,如http://apps.facebook.com/my_app Facebook会自动将其重定向到https:// ...

Canvas应用程序内容是从我的服务器加载的,只能通过HTTP访问.重定向到https://apps.facebook.com/my_app的用户无法加载我的应用程序,因为Facebook canvas希望通过HTTPS从我的服务器加载内容.如何解决这个问题,而不在mu服务器上启用SSL?

并非所有用户都被重定向到https://apps.fa ...?这是怎么处理的?

UnT*_*hie 8

我已经想出了一个有趣的黑客来解决这个问题.

您可以创建一个可通过HTTPS访问的HTML文件,该文件只是重定向到您的网页.例如,您可以使用dropbox.由于Facebook在iframe中加载了您的安全画布URL页面,因此您的代码需要重定向首页.像这样的东西.

<html>
  <head>
    <script>
    function onLoad() {
      window.top.location.href="<your website>";
    }
    </script>
  </head>
  <body onload="onLoad()">
    <p>Please wait while you are being redirected to <your website name>…</p>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

并提供此链接作为安全画布URL.我在博客中详细介绍了这一点 - http://blog.almabase.com/post/84579042935/interesting-hack-for-facebook-secure-canvas-url


chw*_*hwk 7

基本上,您必须提供https支持.目前,您仍然可以将Secure Canvas URL字段留空以避免这样做,但是从10月1日开始需要它.

  • 一些提供商提供SSL代理服务.您可以指定一个URL,例如http://www.sslproxy.whatever/yourapp/,它只是加载/转发您的正常内容.当然,使用这种服务并不会将您的应用置于"最受信任"类别,浏览器可能会抱怨. (2认同)