2011-07-03 7 views
2

自分のサーバから配信されたページ内のiframeページ(サードパーティのサーバでホストされている)にスクリプトを挿入したい(wysiwygアプリの変更を視覚化する) 。サードパーティのiframeでスクリプトの注入と実行を保護する

「ターゲット」ページに小さなスタブスクリプトがあるので、渡されたものを任意のスクリプトで実行できる方法があると思います。明らかに、これは安全な何かのようには聞こえません。なぜなら、いくつかのきれいなXSSの攻撃ベクトルを開くからです。私がそれを確保するために持っていたアイデアの1つは、実行したいスクリプトと一緒に何らかのトークンを渡すことでした。スタブクライアントコードはサーバでチェックし、スクリプトを実行します。これは理にかなっていますか?誰かが私に先例を教えてくれるだろうか?あなたは、実際のiframe内に少量のコードを制御するように

感謝

+0

これを解決する他の方法はありますか? iframeソリューションは危険に思えます。 –

+0

それはちょっとしていますが、私は変更のライブを表示する必要があるので、私が考えることができる唯一の他のソリューションは私のサーバー経由でページをプロキシすることです。それはクールになるつもりはありません(URLの書き直し、たくさんの負荷など) – malangi

+0

"ターゲット"ページでこの提案されたスクリプトにどうやって行きますか?ブラウザはあなたにまったく触れることはありません。 – Pointy

答えて

2

まず第一に、それが聞こえます。そのスタブを介して他の人がスクリプトを挿入できるようにする提案(あらゆる種類の攻撃を可能にする)ではなく、実際の "安全な"コードをiframeに入れて、結果の親フレーム?

第2に、安全なクロスドメインiframe通信について書かれた膨大なWebページがあります。私はあなたがしようとしていることをまだ正確には分かっていないので、自分で検索し、あなたのために最適な仕組みを見つけ出す必要があります。 Googleの「安全なクロスドメインiframe通信」を検索すると、大量の情報が検索されます。それだけでデータを共有するためのpostMessageだけですが

第三には、私が出会った、最高のCross Domain Communication with iFramesで気に入っ記事で安全な技術は、コードを呼び出すと、実際にそれが信頼するの起源を確認することができますことはできません、postMessageのように見えますより新しいブラウザで利用できるので、古いブラウザでも動作する他のテクニックの1つにフォールバックする必要があります。利用可能な場合はpostMessageを使用し、そうでない場合は別のテクニックに戻ります。jQuery pluginです。

この情報では十分ではない場合は、iFrameで何をしようとしているのか、2つの起点の間にどの情報を渡そうとしているのかを教えてください。

+0

私はこれが、質問を考えれば実行可能な答えに近いと思う。 –

+0

すごく、ありがとう - 私のウェブサイトの負荷があったが、私は何かが明らかに欠けていなかったことを確認したかった:)。私が必要としていたのは、任意のコードの実行ではなく、トリガー(今考えてみた)です。リンクのための乾杯、これらは便利になる! – malangi

関連する問題