[解決済み] CORSとCSPの違いは何ですか?
質問
私の目から見ると、このような技術は Cross-Origin Resource Sharing (CORS) (クロスオリジンリソース共有) と コンテンツセキュリティポリシー (CSP) は、目的と実装が非常に似ているようです。
どちらも、HTTP レスポンスヘッダを介して、妥協のないバージョンの Web ページが組み込むリソースの起源をホワイトリスト化することができるようです。私が見ることができる唯一の違いは、CSP は HTTP レスポンスで承認できるものがより細かいということです。
どのように解決するのですか?
CORS では 同一生成元ポリシー をドメインに対して緩和することができます。
例: 通常、ユーザーが両方のドメインにログインする場合
example.com
と
example.org
の場合、同一生成元ポリシーにより
example.com
に AJAX リクエストをすることを防ぎます。
example.org/current_user/full_user_details
に AJAX リクエストを行い、そのレスポンスにアクセスできるようになります。
これはWebのデフォルトのポリシーで、複数のサイトに同時にログインしたときにユーザーのデータが流出するのを防ぐためのものです。
今度はCORSで。
example.org
を許可するポリシーを設定することができます。
https://example.com
が AJAX によって作られた応答を読むことを許可するというポリシーを設定することができます。これは、もし両方の
example.com
と
example.org
は同じ会社によって運営されており、オリジン間のデータ共有はユーザーのブラウザで許可されることになっています。これはクライアントサイドにのみ影響し、サーバーサイドには影響しません。
一方、CSPは、現在のサイト上でどのようなコンテンツを実行できるかのポリシーを設定します。たとえば、JavaScript をインラインで実行できるかどうか、どのドメインで
.js
ファイルを読み込むことができるかなどです。これは、次のような攻撃に対するもうひとつの防御策として有益な場合があります。
XSS
攻撃は、攻撃者が HTML ページにスクリプトを注入しようとするものです。通常
の出力はエンコードされ
にエンコードされますが、開発者が1つの出力フィールドだけ忘れていたとします。ポリシーがインラインスクリプトの実行を防いでいるため、この攻撃は阻止されます。
関連
-
[解決済み] ハッシュ化アルゴリズムと暗号化アルゴリズムの根本的な違い
-
[解決済み】PHPパスワードのハッシュとソルトの安全性について
-
[解決済み】XKCDコミック「Bobby Tables」のSQLインジェクションはどのように動作するのでしょうか?
-
[解決済み】Integrated Security = True と Integrated Security = SSPI の違いは何ですか?
-
[解決済み】「ローカルシステム」アカウントと「ネットワークサービス」アカウントの違い?
-
[解決済み] サーバー側に送信する前にパスワードをハッシュ化した方が良いですか?
-
[解決済み] Firefoxの同一生成元ポリシーを無効にする
-
[解決済み] ステートレス(セッションレス)・クッキーレス認証を行うには?
-
[解決済み] SSLとMan-in-the-Middleの誤解
-
[解決済み] 認証と認可は違うのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン