我正在为Facebook开发画布应用,并且我想阻止用户直接从画布URL访问应用(尽可能地,我意识到这可能不会有可能100%的时间),并强制用户从apps.facebook.com/foo访问应用程序。防止Facebook画布应用被直接访问/在Facebook之外
我正在用php开发应用程序,我的第一个想法是检查$ _POST数组中的'signed_request',这是从facebook传递到画布应用程序的值,如果此值不是目前来看,但是这个值只会传递一次,当用户点击我应用程序中的不同链接时,'signed_request'参数不会再次传递。
我可以合理地信任'HTTP_REFERER'来验证用户是否正在从http://apps.facebook.com/foo访问应用程序,并在HTTP_REFERER不等于该值时重定向用户?
编辑: 我刚刚注意到,在apps.facebook.com/foo的应用程序的原始请求HTTP_REQUEST标头等于'apps.facebook.com/foo',但是当用户单击应用程序中的HTTP_REQUEST链接等于画布网址。
谢谢,这是完美的。我只是试图阻止偶然用户访问facebook的iFrame之外的应用程序。谢谢 – 2011-06-09 16:09:44