同一生成元ポリシーとは何か、およびクロスドメインの問題を解決する 3 つの方法

同一生成元ポリシー


1.1.1 同一オリジンとは、「プロトコル + ドメイン名 + ポート」が同じであることを意味し、2 つの異なるドメイン名が同じ IP アドレスを指していても、それらは同じオリジンからのものではありません。同一生成元ポリシー/SOP (同一生成元ポリシー) は、1995 年に Netscape によってブラウザに導入された規約で​​す。これはブラウザの中核であり、最も基本的なセキュリティ機能です。現在、JavaScript をサポートするすべてのブラウザでこのポリシーが使用されます。同一生成元ポリシーがないと、ブラウザは XSS、CSFR、その他の攻撃に対して脆弱になります。
{1} たとえば、Web アプリケーションでは、ユーザーが訪問したページとページ リクエストを処理するコントローラはすべて同じ contextPath の下にあります。ページ上で AController または BController のどちらがリクエストされているかに関係なく、ページ、A、およびB はすべて同じソースからのものであり、スペースは同じ contextPath の下にあります。
{2} 同一生成元ポリシーはセキュリティを目的としており、アプリケーション内のリソースにはこのアプリケーションのリソースのみがアクセスできるようにします。そうしないと、誰もがアクセスできるわけではありません。
1.1.2 ソースとは何ですか?
{1} 起点はプロトコル、ドメイン名、ポート番号です。
[1] アドレス内のプロトコル、ドメイン名、ポート番号が同じ場合、それらは同じソースに属します。
{2} 以下は、http://www.a.com/test/index.html に対する同一生成元の検出です
[1] http://www.a.com/dir/page.html ----成功, デフォルトのポートは 80 です
[2] http://www.child.a.com/test/index.html ----失敗、ドメイン名が異なります
[3] https://www.a.com/ test/index.html ----失敗、プロトコルが異なります
[4] http://www.a.com:8080/test/index.html ----失敗、ポート番号が異なります
[5] http://www.domain.com/a.js http://192.168.4.12/b.js IP とドメイン名が指す IP は同じですが、同じソースからのものではありません。ドメイン名が異なります。
クロスドメインの問題を解決する 3 つの方法
方法 1 

バックエンドを開く制限、利点: 便利、欠点: 安全ではない

方法 2

JSONPは同一オリジンポリシーの制限を受けないようにscriptタグのsrc属性を使用します(バックグラウンド連携が必要)

方法 3

プロキシの構成

2. Vueの自動ジャンプ操作とプロキシの方法は?

開発サーバー:{

// 自動的に開きます

オープン:真、

// ホットアップデート

暑い:本当、

// ポート:8089

2.代理店方式

プロキシ:{

//エージェント名

'/コース-API':{

// プロキシアドレス

目標:" "

//パス書き換え(プロキシ書き換え)

パスリライト:{

'/コース-API':' '

}

}

}

おすすめ

転載: blog.csdn.net/m0_65849649/article/details/123859089