ホームページ >バックエンド開発 >PHPチュートリアル >PHP8.1リリース:CSP(コンテンツセキュリティポリシー)をサポート

PHP8.1リリース:CSP(コンテンツセキュリティポリシー)をサポート

PHPz
PHPzオリジナル
2023-07-09 18:52:401422ブラウズ

PHP8.1 リリース: CSP (コンテンツ セキュリティ ポリシー) をサポート

インターネットの発展に伴い、ネットワーク セキュリティの問題がますます注目を集めるようになりました。ユーザーのプライバシーとセキュリティを保護するために、実行できるコンテンツと Web ページにロードできるリソースを制限するコンテンツ セキュリティ ポリシー (CSP) を採用する Web サイトが増えています。 PHP 8.1 の最新リリースでは、CSP のネイティブ サポートが導入され、Web ページのセキュリティを強化するためのより優れたツールが開発者に提供されます。

CSP を使用すると、Web ページの開発者は、読み込みが許可されるリソース ソースを指定することで Web ページ内で実行できるコードを制限し、XSS (クロスサイト スクリプティング攻撃) やその他の悪意のある攻撃を防ぐことができます。 PHP8.1 は、CSP ポリシーを定義および実装するためのシンプルかつ強力な方法を提供します。以下にサンプル コードをいくつか見てみましょう。

まず、CSP ポリシーがどのように機能するかを知る必要があります。ポリシーは、どのタイプのリソースを Web ページにロードできるか、またどのスクリプトとスタイルが許可されるかを定義します。開発者は、PHP が提供する新しい関数を使用して、次のように CSP ポリシーを設定できます。

<?php
header("Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline';");
?>

上の例では、header() 関数を使用して Content を設定しました。 -Security-Policy応答ヘッダー。このヘッダー ファイルは、デフォルトでロードされるリソース (default-src 'self') を指定し、ロードが許可されるスクリプト (script-src 'self' 'unsafe-inline' 'unsafe) をそれぞれ指定します- eval') およびスタイル (style-src 'self' 'unsafe-inline')。こうすることで、同じドメインのリソースのみが読み込まれるため、インライン スクリプトとスタイルが可能になります。

一般的な読み込み戦略に加えて、CSP は、読み込まれるリソースのタイプを制御するための他の命令 (image-srcfont-src、# など) も提供します。 # #media-src など。開発者は、独自のニーズに応じてこれらの命令を設定できます。

次に、より具体的な例を見てみましょう。 Web ページがサードパーティ ライブラリ (jQuery など) といくつかのカスタム スクリプトを読み込む必要があると仮定すると、次のように CSP ポリシーを設定できます。

<?php
header("Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js; style-src 'self' 'unsafe-inline';");
?>

上記の例では、

を渡します。 script-src jQuery の CDN リンクを ディレクティブのパラメーターに追加して、ライブラリのロードを可能にします。このようにして、読み込みポリシーで同じドメイン名からのリソースの読み込みのみが許可されている場合でも、他のドメイン名のリソースを使用できます。

要約すると、PHP 8.1 のリリースは開発者に CSP のネイティブ サポートを提供し、CSP ポリシーの設定と実装のプロセスを簡素化します。

Content-Security-Policy 応答ヘッダーと対応する命令を使用することで、開発者は Web ページにロードできるリソースと実行できるコードを柔軟に制限でき、Web ページのセキュリティを強化できます。 。 Web ページを開発するときは、ユーザーのプライバシーとセキュリティを保護するために、これらの新機能を最大限に活用する必要があります。

以上がPHP8.1リリース:CSP(コンテンツセキュリティポリシー)をサポートの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。