ホームページ  >  記事  >  ウェブフロントエンド  >  js オリジン ポリシー: Web コンテンツの操作に対する完全なセキュリティ制限

js オリジン ポリシー: Web コンテンツの操作に対する完全なセキュリティ制限

php是最好的语言
php是最好的语言オリジナル
2018-08-03 10:33:112434ブラウズ

同一オリジンポリシー

同一オリジンは、それらの Web コンテンツ上で js が動作するための完全なセキュリティ制限です。これは、Web ページが他のブラウザ ウィンドウを開いたり、iframe を使用したりするときに機能します。
つまり、スクリプトは、それが属するドキュメントと同じソースを持つウィンドウとドキュメントのプロパティのみを読み取ることができます。
ドキュメントのソースには、ドキュメントをロードするためのプロトコル、ホスト、URL ポートが含まれます。異なる Web サーバーからロードされたドキュメントには異なる生成元があり、同じホスト上の異なるポートからロードされたドキュメントにも異なる生成元があります。 http と https を使用するものは、プロトコルが異なるため、ソースも異なります。
つまり、スクリプトがファイルの内容を読み取ることができるようにするには、ドキュメントをロードするためのプロトコル、ホスト、および URL ポートがドキュメントと完全に同じである必要があります。
しかし、それはスクリプト自体のソースとは何の関係もありません。

スクリプト a はホスト b のドキュメント bb に含まれています。つまり、スクリプト a はドキュメント bb のすべてのコンテンツにアクセスできます。
スクリプト a はホスト c から別の cc ドキュメントを開きます。ソースが異なるため、スクリプト a はドキュメント cc のコンテンツにアクセスできません。ただし、スクリプト a がホスト b からドキュメント bbb を開いた場合、スクリプト a はドキュメント bbb にアクセスできます (このとき、2 つの異なるウィンドウの下でもアクセスが可能です)
スクリプトがウィンドウを開いた場合、スクリプトもそのウィンドウにアクセスできます。 、ただし、窓の内側を見ることはできません。

オリジンポリシーを失う

ChromeのWebサーバーを使用してサービスをローカルで開始します。ホスト ファイルを変更し、home.abc.com と abc.com を解析して、これら 2 つのドメイン名 http://home.abc.com:8887/ と http://abc.com:8887/ にアクセスします。 host.127.0.0.1
これで最も単純なローカル サーバーの構築が完了しました
document.domain を設定します

> document.domain
"home.abc.com"

home.abc.com から発信される Web サイトへのリクエストのみを許可します。


> document.domain = "abc.com";
"abc.com"

を設定する この方法で同じオリジンを設定し、

*.abc.com

からのすべてのリクエストを同じオリジンとして扱います。

同じ document.domain を設定します

同じ document.domain を設定し、2 つの値が同じであれば、スクリプトは相互にアクセスできます。同一起源に縛られない。

クロスドメインリソース共有

Origin を使用して http を拡張し、リソース共有を確実にします

https://developer.mozilla.org...
すべてのソースを明示的にリストします。 Origin の値に従って、ソースがリストされ、ソース間メッセージが再度回避される

ドキュメント間メッセージ

postMessage() メソッドを使用してメッセージ イベントを非同期に配信します

スクリプト化されたプラグインと ActiveX コントロール

Web ブラウザー, js は多くのソフトウェアやプラグインのスクリプト エンジンとして使用されます。

ActiveX はオンライン バンキングで広く使用されています、╮(╯▽╰)╭
それは非常に古いテクノロジーです。 。 3721。 (⊙o⊙)

jsでできないこと

クライアントjsには、クライアントのコンピュータ上のファイルの書き込みや削除、ディレクトリの一覧表示を行う権限がありません。つまり、js プログラムはデータを削除したり、ウイルスを埋め込んだりすることはできません。

クライアントの js には一般的なネットワーク機能はありません。クライアントの js プログラムは http プロトコルをプログラムでき、サーバー通信を指定するためのソケット API はありますが、より広範囲のネットワークにアクセスすることはできません。

関連記事:

同一オリジンポリシーとcsrfセキュリティポリシーの知識ポイントを解説

js同一オリジンポリシーの詳細解説

関連動画:


JavaScriptの基礎ビデオチュートリアル

以上がjs オリジン ポリシー: Web コンテンツの操作に対する完全なセキュリティ制限の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。