Я разрабатываю приложение Canvas для Facebook и хочу запретить пользователям доступ к приложению напрямую с URL-адреса Canvas (насколько это возможно, я понимаю, что это может быть невозможно в 100% случаев) и заставляю пользователей получить доступ к приложению из apps.facebook.com/foo.
Я занимаюсь разработкой приложения с помощью php, и моей первой мыслью было проверить массив $ _POST на «signature_request», то есть значение, переданное из facebook в приложение canvas, и отправить перенаправление, если этого значения не было. но, похоже, это значение передается только один раз, и когда пользователи нажимают разные ссылки в моем приложении, параметр Signed_request больше не передается.
Могу ли я разумно доверять HTTP_REFERER для проверки того, что пользователи обращаются к приложению с http://apps.facebook.com/foo, и перенаправлять пользователей, когда HTTP_REFERER не равен этому значению?
EDIT:
На самом деле я только что заметил, что в исходном запросе приложения на apps.facebook.com/foo заголовок HTTP_REQUEST равен «apps.facebook.com/foo», но когда пользователь щелкает ссылку в приложении, HTTP_REQUEST становится равным на холст URL.