web-dev-qa-db-ja.com

安全でないJavaScriptがSafariのフレーム警告にアクセスしようとする

アプリでFacebook Connectを使用しています。私はかなりうまく機能していますが、Safariエラーコンソールで次のようなエラーが表示されます。

Unsafe JavaScript attempt to access frame with URL http://...#... from frame with URL http://www.connect.facebook.com/extern/login_status.phpapi_key=..&extern=2&channel=http...xd_receiver.htm.
Domains, protocols and ports must match.

アプリは正常に機能しているようですが、Safariから定期的なハングやその他の悪い動作が見られます。他のFacebook Connectアプリを実行すると、このエラーも時々発生するため、これは実装の問題ではないと思います。この警告を無視しても安全ですか?

29
wolffiex

Safariのクロスフレームセキュリティは他のブラウザーよりも厳しく、私はこれらのケースを処理するために特定のtry/catchラッパーを実行しました。

どちらにしても、olliejが示唆するように、バグをアップストリームに投稿します。

3
Tracker1

それは安全ではない何らかのOriginへのアクセスを試みていることを意味します-害はないように見えるかもしれませんが、ナイトリーまたはSafari4ベータを使用している場合は、なぜそれがヒットしているのかを調べることは価値があるでしょう。 Webインスペクターのデバッガーを使用して、すべての例外でブレークするようにします。これにより、クロスオリジンアクセスが実際に試行されているタイミングを確認できます。

ハングに関しては、ある種の縮小されたテストケースを見つけることができれば、 http://bugs.webkit.org でそれらを提出できれば素晴らしいでしょう

1
olliej

これは赤いニシンです。リクエストは引き続き通過し、すべてが適切に機能していますが、WebKitは例外をログに記録します。

1
Paul Tarjan