0

ここで PHP について説明されているように、Facebookの「キャンバスページ内の認証」を機能させることに取り組んでい ます。最終的に base64_decode が機能するようになりましたが、セクション 2a で説明した URL へのユーザーのリダイレクトに失敗しました。SOで見つけたresponse.redirect(url)とresponse.setHeader( 'Location'、url)およびその他のオプションを試しましたが、これらのどれも機能しませんでした:/

ブラウザーから直接 URL にアクセスすると、すべてが期待どおりに機能するように見えます。同じドメインの URL にリダイレクトすると、それも機能します。多分私は基本的な何かを見逃していますか?外部ドメインへのリダイレクトは可能ですか? これを行う正しい方法は何ですか?

前もって感謝します!

更新: http://heise.dehttp://orf.atなどのページへのリダイレクトは機能するが、http://www.google.comやhttp://www.facebook.comでは機能しないことがわかりました . ここで何が起こっているのかわかりません:/

4

2 に答える 2

1

またはのようなページへのリダイレクトは機能しますが、http://heise.deまたはhttp://orf.atでは機能しないことがわかりました。ここで何が起こっているのかわかりません:/http://www.google.comhttp://www.facebook.com

後者はX-Frame-OptionsHTTP 応答ヘッダーを送信しています。これは、ページを (i) フレームで表示するかどうかをクライアントに通知します。

Google は値 を送信しますSAMEORIGIN。これは、ドメイン google.com のページのみが google.com の他のページを (i)frames でDENY表示できることを意味し、 Facebook は を送信します。どこでも。

于 2012-09-04T08:36:50.303 に答える
0

問題を解決できなかったので、使用した回避策を共有したいと思います。問題は、Facebook がページを iframe に含めているため、window.top.location を使用したリダイレクトのみが許可されていることです。これは明らかにサーバー側からは実行できません。ここで回避策を使用して、window.top.location = url 以外は何もしない jade ビューをレンダリングします。あまりきれいではありませんが、機能します。一部のページが機能し、他のページが機能しない理由は、まだ私にとって疑問です。

于 2012-09-04T08:12:13.320 に答える