2012-04-09 1 views
0

空のHTMLページにiframeのソースを指定しようとしています。ソースが別のドメインにあるため、「Permission denied」エラーが表示されます。クロスサイトの問題を避けるためにHTMLソースをiframeに挿入する方法はありますか?HTMLソースをiframeに挿入してクロスサイトスクリプティングの問題を回避する

+3

私はこれがクロスサイトスクリプティングの対象だと思うので、これは不可能です。 iframeに読み込まれたサイトを管理している場合は、おそらく[window.postMessage](https://developer.mozilla.org/en/DOM/window.postMessage)を使用することができます。あなたの最終目標は何ですか?おそらく、あなたが何をしたいのかを行う別の方法があります。 – wzub

答えて

0

iframeを別のドメインに持っていることは通常問題ではありませんが、x-frame-optionsのhttpヘッダーを設定することで、他のユーザーがiframeであなたのサイトを表示するのを防ぐことができます。 (そして、私はあなたがhttp応答ヘッダーをチェックするのをやっていないと思います...)。

空白のページが必要な場合は、コントロールするページのiframeを開きます。 docルートにあるblank.htmlのようなものです。

+0

ありがとうございました。同じドメインにダミーページを作成しました。 – mpusarla

0

ルック氏によると、通常iframeのクロスサイトを指すことに問題はありません。実際、iframeは、あるレベルのクロスサイト通信を回避するための既知の方法の1つです。さらに、このメカニズムは、様々なウェブサイト上のユーザにコンテンツを動的に供給するために広告に使用される。

とにかく、あなたが望むものを達成できる別の方法は、プロキシサービスを作成することです。ローカルサーバーでは、ページのGET要求を作成し、HTMLを独自の応答として吐き出すスクリプトを作成できます。これにより、iframeのソースがローカルサーバーを指している可能性があります。

+0

応答をありがとう。私は問題を詳しく説明しようとします。私たちは、Webアプリケーション上のJavascriptコードを一般的なウィジェットにすることで、Javascriptコードを分離しようとしています。ウィジェットが他のアプリケーションによって再利用されるように柔軟性を持たせるために、我々はプロキシのアプローチをとることはできません。そうすれば、ウィジェットのすべてのユーザーはプロキシを設定する必要があります。 1つのドメインの下にすべてのJavascriptを持つ必要があります。ウェブページが別のドメインで表示されているので、ウィジェットのiframeソースをjavascriptドメイン上のHTMLページに設定すると問題が発生します。 – mpusarla

関連する問題