我正在爲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