ホームページ > ウェブフロントエンド > jsチュートリアル > コンテンツ セキュリティ ポリシー (CSP) はクロスサイト スクリプティング攻撃 (XSS) からどのように保護されますか?

コンテンツ セキュリティ ポリシー (CSP) はクロスサイト スクリプティング攻撃 (XSS) からどのように保護されますか?

Linda Hamilton
リリース: 2024-11-08 22:33:02
オリジナル
234 人が閲覧しました

How does Content Security Policy (CSP) protect against cross-site scripting attacks (XSS)?

コンテンツ セキュリティ ポリシー (CSP) の機能

これまでに遭遇した CSP 関連のエラーの多さに対処するために、この記事の目的はコンテンツ セキュリティ ポリシーの仕組みを解明し、それを効果的に活用するための実践的なガイダンスを提供します。

内容CSP とは?

コンテンツ セキュリティ ポリシー (CSP) は、クロスサイト スクリプティング攻撃 (XSS) のリスクを軽減するように設計されたブラウザ側のセキュリティ機能として機能します。このポリシーを使用すると、スクリプト、スタイルシート、画像などのリソースを読み込むための承認されたソースを定義できるようになり、ブラウザが承認されていない場所からデータを取得できなくなります。

Content-Security-Policy HTTP ヘッダーの利用

Web サイトに CSP を実装するには、Content-Security-Policy HTTP ヘッダーを利用できます。ポリシーのパラメータを構成するメタタグが含まれています。このメタタグには、ポリシーのディレクティブとソース認証ルールを定義する content プロパティが含まれています。

クエリの対処

提起された質問について詳しく見てみましょう:

1.複数のソース:

複数のソースからのリソースを許可するには、ディレクティブの後にスペース区切りの値としてそれらをリストするだけです:

content="default-src 'self' https://example.com/js/"
ログイン後にコピー

2.多様なディレクティブ:

共通ディレクティブには次のものがあります:

  • default-src: さまざまなリソースをロードするためのデフォルト ポリシー
  • script-src: JavaScript ファイルの有効なソース
  • style-src: CSS の有効なソースfiles
  • img-src: 画像の有効なソース

3.複数のディレクティブ:

セミコロンを区切り文字として使用して、単一のメタタグ内でディレクティブを結合します:

content="default-src 'self' https://example.com/js/; style-src 'self'"
ログイン後にコピー

4.ポート処理:

ポート番号またはアスタリスクを追加して、デフォルト以外のポートを明示的に許可します:

content="default-src 'self' https://ajax.googleapis.com http://example.com:123/free/stuff/"
ログイン後にコピー

5。プロトコル処理:

デフォルト以外のプロトコルを明示的に許可:

content="default-src 'self'; connect-src ws:; style-src 'self'"
ログイン後にコピー

6. file:// プロトコル:

ファイルシステム パラメーターを使用して file:// プロトコルを許可します:

content="default-src filesystem"
ログイン後にコピー

7.インライン スタイルとスクリプト:

インライン スタイル、スクリプト、タグを有効にするには、「unsafe-inline」パラメーターを使用します:

content="script-src 'unsafe-inline'; style-src 'unsafe-inline'"
ログイン後にコピー

8。 eval() 呼び出し:

「unsafe-eval」パラメータを利用して eval() を許可します:

content="script-src 'unsafe-eval'"
ログイン後にコピー

9. 'self' 解釈:

'self' は、コンテンツ ポリシーが定義されているファイルと同じプロトコル、ホスト、ポートを共有するリソースを示します:

content="default-src https://example.com"
ログイン後にコピー

次の点に注意してください。 「self」では、http やローカル ファイルなどの安全でないプロトコルは許可されません。

追加ヒント:

  • content="default-src *" の使用は、インライン化と eval を許可し、セキュリティ上の脆弱性が生じるため避けてください。
  • 後方ソースには、安全な (https) ソースと安全でない (http) ソースの両方を指定することをお勧めします。互換性。
  • 最初に強制せずに CSP 実装をテストするには、Content-Security-Policy-Report-Only を使用します。
  • ブラウザのエラー ログを監視して、ポリシー違反を検出します。

以上がコンテンツ セキュリティ ポリシー (CSP) はクロスサイト スクリプティング攻撃 (XSS) からどのように保護されますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート