웹사이트가 SSL 인증서에 있을 때 사용할 수 있는 HTTP 보안 헤더를 관리하는 간단한 도우미 클래스입니다. 안타깝게도 많은 플러그인이 SSL을 구성하는 데 사용되지만 요청에 보안 헤더를 포함하는 더 정교한 부분을 놓치고 있습니다. 이 클래스는 이를 설정하기 위한 간단한 인터페이스를 제공하는 것을 목표로 합니다. 즉, 대부분의 WP 웹 사이트에 적합한 사전 정의된 헤더를 가져오고 코더가 헤더를 설정하거나 변경할 수 있도록 하며 여기에는 사용자 정의된 HTTP 헤더도 포함될 수 있습니다.
우리가 선호하는 대로 이 라이브러리는 Composer를 사용하여 설치할 수 있습니다.
composer require carloswph/wp-secure-headers
.
또는 src
폴더 안에 클래스를 복사하여 플러그인이나 테마에서 사용할 수도 있습니다.
WPHSecurityHeaders
클래스는 Wordpress용 보안 헤더를 삽입합니다. 그렇긴 하지만, 이미 몇 가지 기본 헤더가 제공되어 있으며, 이는 정적 메소드 wPHSecurityHeaders::list()
사용하여 볼 수 있습니다. 앞으로 우리는 Content-Security-Policy 및 Permissions-Policy라는 두 가지 특정 헤더를 세부적으로 구성할 수 있는 몇 가지 연결 방법을 구축할 계획입니다. 현재로서는 둘 다 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 지시문을 개별적으로 구성하는 모든 메서드 외에도 이 추가 클래스에는 헤더가 대신 Content-Security-Policy-Report-Only로 설정되어야 하는 기본 클래스를 나타내는 ReportOnly() 메서드도 있습니다. 이 복잡한 헤더에 대한 모든 문서와 정보는 클래스 docblock 주석 내에서 찾을 수 있습니다.