コンテンツセキュリティポリシーでWebセキュリティを改善します
コンテンツセキュリティポリシー(CSP):Webセキュリティに関する包括的なガイド
コンテンツセキュリティポリシー(CSP)は、コンテンツインジェクション攻撃、主にクロスサイトスクリプト(XSS)に対してWebサイトを保護する重要なセキュリティメカニズムです。 この宣言的なポリシーにより、開発者は信頼できるリソースの起源のホワイトリストを作成し、ブラウザがリソースをロードし、インラインスタイルとスクリプトを使用し、動的なJavaScript評価(eval()
を使用するなど)を処理する方法を制御することができます。 このホワイトリストの外部からリソースをロードしようとする試みはブロックされています。
重要な概念:
- ホワイトリストアプローチ: cspは、許可されたソースを定義し、他のすべてをブロックすることで動作します。>
- httpヘッダー配信:ポリシーは、httpヘッダーを介して実装されています。
Content-Security-Policy
- ディレクティブベースのコントロール:ヘッダーには、許可されたドメインを指定し、注入攻撃を防ぐためにJavaScriptの実行を制限する指令が含まれています。 違反の報告:
-
指令ログCSP違反、生産環境にはかけがえのない。 これにより、指定されたURLに違反を詳述するJSONレポートが送信されます。
report-uri
どのようにCSPの仕組み:
W3C候補の推奨である cspは、ヘッダーを使用してディレクティブを提供します。 重要な指令には、
、、Content-Security-Policy
、default-src
、script-src
、object-src
、style-src
、img-src
、およびmedia-src
が含まれます。 frame-src
は、不特定の指示のためのフォールバックとして機能します
font-src
ディレクティブは、一貫したパターンに従います:connect-src
default-src
:現在のドメインを参照してください。
- urlリスト:許可された起源を指定するスペース分離URL。
-
self
:特定のディレクティブのロードリソースを禁止します(例えば、 - ブロックプラグイン)。
- 現在のドメインからのみリソースを許可する基本的なcsp:
none
object-src 'none'
別のドメインからロードしようとする試みは、コンソールメッセージを使用してブロックされます。 CSPは本質的にインラインスクリプトと動的なコード評価を制限し、注入リスクを大幅に軽減します。
<code>Content-Security-Policy: default-src 'self';</code>
.mycdn.com`)。 各指令には、明示的なドメイン/サブドメインリストが必要です。彼らは以前の指令から継承しません
データURLの場合、指令にdata:
を含めます(例:img-src 'data:'
)。 unsafe-inline
(script-src
およびstyle-src
)は、インライン<script></script>
および<style></style>
タグを許可します。 どちらもオプトインポリシーを使用します。それらを省略すると、制限が強化されます
unsafe-eval
script-src
ブラウザ互換性:
CSP 1.0は、互換性が限られている古いインターネットエクスプローラーバージョンで、幅広いブラウザのサポートを楽しんでいます。
:
で違反を監視します
開発ではブラウザコンソールのロギングを使用している間、生産環境はreport-uri
の恩恵を受けます。これにより、違反の詳細(JSON形式)を含むHTTP投稿リクエストが指定されたURLに送信されます。
例:
report-uri
違反(例:
。
<code>Content-Security-Policy: default-src 'self';</code>
ヘッダー:www.google-analytics.com
report-uri
を使用してください。 これは、リソースをブロックせずに違反を報告し、サイトの混乱なしに政策の改良を可能にします。 両方のヘッダーを同時に使用できます。
Content-Security-Policy-Report-Only
CSPの実装:
Content-Security-Policy-Report-Only
CSPはHTTPヘッダーを介して設定されています。 サーバー構成(Apache、IIS、nginx)またはプログラマティックメソッド(php's
)を使用できます。 実世界の例:
header()
FacebookとTwitterは、ワイルドカードと特定のドメイン手当を利用して、多様なCSP実装を実証しています。
setHeader()
cspレベル2は、新しい指令(
、、
、、)、改善されたレポート、およびインラインスクリプトとスタイルの非CE/ハッシュベースの保護を紹介します。
非CEベースの保護: base-uri
child-src
ランダムに生成されたノンセは、CSPヘッダーとインラインスクリプトタグの両方に含まれています。
form-action
frame-ancestors
ハッシュベースの保護:plugin-types
サーバーは、CSPヘッダーに含まれるスクリプト/スタイルブロックのハッシュを計算します。ブラウザは、実行前にこのハッシュを検証します 結論:
CSPは、リソースの負荷を制御することにより、Webセキュリティを大幅に強化します。
監視が促進され、レベル2はさらに改良を導入します。 CSPの実装は、堅牢で安全なWebアプリケーションを構築する上で重要なステップです。 (注:画像プレースホルダーは、要求されているように変更されていません。)
以上がコンテンツセキュリティポリシーでWebセキュリティを改善しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











このパイロットプログラム、CNCF(クラウドネイティブコンピューティングファンデーション)、アンペアコンピューティング、Equinix Metal、およびActuatedのコラボレーションであるCNCF GithubプロジェクトのARM64 CI/CDが合理化されます。 このイニシアチブは、セキュリティの懸念とパフォーマンスリムに対処します

このチュートリアルは、AWSサービスを使用してサーバーレスイメージ処理パイプラインを構築することをガイドします。 APIゲートウェイ、Lambda関数、S3バケット、およびDynamoDBと対話するECS Fargateクラスターに展開されたnext.jsフロントエンドを作成します。 th

これらのトップ開発者ニュースレターを使用して、最新のハイテクトレンドについてお知らせください! このキュレーションされたリストは、AI愛好家からベテランのバックエンドやフロントエンド開発者まで、すべての人に何かを提供します。 お気に入りを選択し、Relを検索する時間を節約してください
