Cas*_*ynn 4 php facebook canvas facebook-php-sdk
我正在为facebook开发一个canvas应用程序,我想阻止用户直接从画布URL访问应用程序(尽可能地,我意识到这可能在100%的时间内都不可能)并强制用户访问应用程序来自apps.facebook.com/foo.
我正在使用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变得等于画布网址.
我建议您检查signed_request参数,如果它有效,请使用PHP会话变量来跟踪这是否是基于Facebook的请求.它不会阻止某人在Facebook上使用您的应用程序,然后直接转到应用程序.
您可以执行的其他检查是使用javascript进行检查
window == window.top
Run Code Online (Sandbox Code Playgroud)
哪个应该告诉你你是否在一个框架中.
| 归档时间: |
|
| 查看次数: |
1751 次 |
| 最近记录: |