0

次のコードでは、送信を押すiframeと、 に記載されている URL が読み込まれtextboxます。に違反していませんnot allowing cross domain requestか?Mozilla 14.0 を使用しています。

<!DOCTYPE html>
<head>
<script>
function myFunction()
{
document.getElementById("site").src=document.getElementById("web").value;
}
</script>
</head>
<body> 
<input id="web" type="text" name="user">
<input type="submit" value="Submit"  onclick="myFunction()"> <br/>
<iframe id="site" src="" width="1200" height="1200"></iframe>

</body>
</html>
4

4 に答える 4

1

いいえ、違反ではありません。完全に有効です。

同じオリジン ポリシーにより、異なるドメインのページにまたがるメソッドとプロパティへのアクセスが防止されます。また、含まれている Web ページの変更も防止します。しかし、それを全体として含めることを妨げるものではありません (そして、限られた方法でそれを操作することさえできます)。

基本的に、このポリシーは Web サイト A が Web サイト B でユーザーになりすますのを防ぎます。

自分の銀行口座 (bank.com) にアクセスしたとします。ログインすると、銀行の Web サイトによって「ユーザー環境」が生成され、制限されたコンテンツにアクセスできるようになります。また、http リクエスト (フォーム送信または Ajax リクエスト) を介して銀行口座を変更することもできます。

Web サイトがあなたを信頼しているのは、あなたが本人であることを証明したからであり、安全な環境にいる間は銀行の Web サイトを操作できるのは自分以外の誰もいないことを知っているからです。 .

次に、別のタブ (evilweb.com) で悪意のある Web サイトにアクセスしたとします。この Web サイトには、銀行の Web サイトの iframe があります。このポリシーがなければ、evilweb.com はあなたのふりをして、制限された領域にアクセスし、DOM 情報 (銀行口座番号など) を読み取り、それとやり取りして、[送金] ボタンをクリックして銀行口座をクリーンアップすることさえできます。その iframe を非表示にすることもできます。

ただし、evilweb.comが bank.com の公開コンテンツを「ダウンロード」することを妨げるものは何もありません。同様に、アクセス資格情報を持っていなくても公開 Web サイトにアクセスすることを妨げるものは何もありません。

つまり... ユーザーのふりをすることは、リクエストを行うこととは異なります

したがって、基本的に、evilweb.com は bank.com に直接リクエストを送信できますが、あなたに便乗してあなたに代わってリクエストを送信することはできません。

于 2013-02-08T16:38:48.153 に答える
0

いいえ。ドメイン間でデータが転送されることはありません。

セキュリティの観点からは、フレームをナビゲートする URL がユーザー入力またはその他のソースに由来するかどうかはまったく関係ありません。

iframe の内部から外部にデータをプルしようとしたり、iframe のコンテンツを操作しようとしたりすると、同一生成元ポリシーに違反し、失敗します。

于 2013-02-08T16:13:45.520 に答える
0

いいえ、ページをロードしても問題ありません。ただし、iframe クロスオリジン ドキュメントのコンテンツにはアクセスできません。

于 2013-02-08T16:14:26.137 に答える