Web サイトが SSL 証明書の下にある場合に使用できる HTTP セキュリティ ヘッダーを管理するための単純なヘルパー クラス。残念ながら、SSL の設定には多くのプラグインが使用されていますが、リクエストに安全なヘッダーを含めるという、より複雑な部分が欠けています。このクラスは、これらを設定するためのシンプルなインターフェイスを提供することを目的としています。これにより、ほとんどの WP Web サイトに適した事前定義されたヘッダーが提供されますが、コーダーが任意のヘッダーを設定または変更できるようになります。これには、カスタマイズされた HTTP ヘッダーも含まれる場合があります。
このライブラリは Composer を使用してインストールできます。
composer require carloswph/wp-secure-headers
。
あるいは、 src
フォルダー内のクラスをコピーして、プラグインまたはテーマで使用することもできます。
WPHSecurityHeaders
クラスは、Wordpress の安全なヘッダーを挿入します。そうは言っても、いくつかの基本的なヘッダーがすでに付属しており、静的メソッドwPHSecurityHeaders::list()
を使用して確認できます。将来的には、Content-Security-Policy と Permissions-Policy という 2 つの特定のヘッダーを詳細に構成できるように、いくつかの連鎖メソッドを構築する予定です。現時点では、どちらもset()
メソッドを通じてクラス インスタンスに追加できます。
use WPH Security Headers ;
require __DIR__ . ' /vendor/autoload.php ' ;
$ sec_headers = new Headers ();
$ sec_headers -> set ( ' Content-Security-Policy ' , ' connect-src "self" ' ); // Add new headers to the class array property.
バージョン 1.2.0 以降、このライブラリには追加のクラスがあり、メイン クラスを通じて引数として渡すことができ、数十のチェーン メソッドで構成された後に Content-Security-Policy ヘッダーが追加されます。例:
use WPH Security Headers ;
use WPH Security ContentSecurityPolicy
require __DIR__ . ' /vendor/autoload.php ' ;
$ csp = new ContentSecurityPolicy ();
$ csp -> setChild ( ' https://google.com https://microsoft.com ' )
-> setConnect ( ' https://* ' );
$ sec_headers = new Headers ( $ csp ); // Adds the Content-Security-Policy to the headers pool, with all set parameters
さまざまな Content-Security-Policy ディレクティブを個別に構成するすべてのメソッドに加えて、この追加クラスにはメソッド ReportOnly() もあり、ヘッダーが代わりに Content-Security-Policy-Report-Only として設定されることをメイン クラスに示します。この複雑なヘッダーに関するすべてのドキュメントと情報は、クラス docblock コメント内にあります。