コンテンツ セキュリティ ポリシー (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.多様なディレクティブ:
共通ディレクティブには次のものがあります:
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 やローカル ファイルなどの安全でないプロトコルは許可されません。
追加ヒント:
以上がコンテンツ セキュリティ ポリシー (CSP) はクロスサイト スクリプティング攻撃 (XSS) からどのように保護されますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。