jsはdocument.domanを設定してドメインを跨ぐことを実現します.
1649 ワード
document.domainは現在のウェブサイトのドメイン名を取得するために使用されます.たとえばアドレスバーに入力します.
cctv.netとwwww.ha.netは現在のドメイン名でもなく、現在のドメイン名の基礎ドメイン名でもないので、エラーが発生します.これは、ドメインを越えてデータを盗むことを実現するために、document.domainを悪用して修正する人を防ぐためです.Dcument.domannを利用してドメインを跨ぐことを実現します:前提条件:この2つのドメイン名は同一の基礎ドメイン名に属しなければなりません!また、使用されているプロトコルは、ポートが一致していないと、Dcument.domannを利用してドメインを跨ぐJavascriptを行うことができません.安全性を考慮して、2つ以上の異なるドメインのページで相互操作を禁止します.同じドメインのページは相互操作時には何の問題もありません.例えば、aaaa.comのウェブページ(a.html)でiframeを利用してbb.comのウェブページ(b.html)を紹介しました.この時a.の中でb.の内容が見られますが、javascriptを使って操作することはできません.この二つのページは異なるドメインに属するので、操作前に、jsは二つのページのドメインが等しいかどうかを検出します.等しい場合、操作を許可します.同じでない場合、操作を拒否します.ここではa.htmlとb.をJSで同じドメインに変更することはできません.基本ドメイン名が等しくないからです.(JSでそれらを等しいドメインに強制的に変更すると、上記と同じ「パラメータ無効エラー」として報告されます.)だからaaa.comの別のページをaaa.comに導入したら、この問題はありません.ドメインが等しいからです.別のケースでは、2つのサブドメイン名:aaaa.xxxcom.com bbb.com aaaの中の1つのウェブページ(a.html)がbbの中の1つのウェブページ(b.html)を紹介しましたが、この時a.の中は同様にb.を操作することができません.Dcument.domannが違っていますので、一つはaaa.xxx.comで、もう一つはbb.xxcomです.この時に私達はJavascriptを通じて、2つのページのdomainを同じに変えます.a.1の中でとb.1の中ですべて参加しなければなりません.
javascript:alert(document.domain); //www.haha.com
私たちもdocument.domain属性に値を割り当てることができます.ただし、制限があります.あなたは現在のドメイン名または基礎ドメインを作るしかありません.たとえば:javascript:alert(document.domain = "haha.com"); //haha.com
javascript:alert(document.domain = "www.haha.com"); //www.haha.com
上の割当値はすべて成功しています.wwww.jb 51.netは現在のドメイン名です.jb 51.netは基礎ドメイン名です.しかし、下記の割当値は「パラメータ無効」のエラーが出ます.コードは以下の通りです.javascript:alert(document.domann=「cctv.net」).引数が無効です.javascript:alert(document.domain="www.ha.net")//パラメータが無効ですcctv.netとwwww.ha.netは現在のドメイン名でもなく、現在のドメイン名の基礎ドメイン名でもないので、エラーが発生します.これは、ドメインを越えてデータを盗むことを実現するために、document.domainを悪用して修正する人を防ぐためです.Dcument.domannを利用してドメインを跨ぐことを実現します:前提条件:この2つのドメイン名は同一の基礎ドメイン名に属しなければなりません!また、使用されているプロトコルは、ポートが一致していないと、Dcument.domannを利用してドメインを跨ぐJavascriptを行うことができません.安全性を考慮して、2つ以上の異なるドメインのページで相互操作を禁止します.同じドメインのページは相互操作時には何の問題もありません.例えば、aaaa.comのウェブページ(a.html)でiframeを利用してbb.comのウェブページ(b.html)を紹介しました.この時a.の中でb.の内容が見られますが、javascriptを使って操作することはできません.この二つのページは異なるドメインに属するので、操作前に、jsは二つのページのドメインが等しいかどうかを検出します.等しい場合、操作を許可します.同じでない場合、操作を拒否します.ここではa.htmlとb.をJSで同じドメインに変更することはできません.基本ドメイン名が等しくないからです.(JSでそれらを等しいドメインに強制的に変更すると、上記と同じ「パラメータ無効エラー」として報告されます.)だからaaa.comの別のページをaaa.comに導入したら、この問題はありません.ドメインが等しいからです.別のケースでは、2つのサブドメイン名:aaaa.xxxcom.com bbb.com aaaの中の1つのウェブページ(a.html)がbbの中の1つのウェブページ(b.html)を紹介しましたが、この時a.の中は同様にb.を操作することができません.Dcument.domannが違っていますので、一つはaaa.xxx.comで、もう一つはbb.xxcomです.この時に私達はJavascriptを通じて、2つのページのdomainを同じに変えます.a.1の中でとb.1の中ですべて参加しなければなりません.
document.domain = "xxx.com";