Kelas pembantu sederhana untuk mengelola Header Keamanan HTTP tersedia ketika situs web berada di bawah sertifikat SSL apa pun. Sayangnya, banyak plugin yang digunakan untuk mengonfigurasi SSL, tetapi melewatkan bagian yang lebih rumit - menyertakan header aman ke permintaan. Kelas ini bertujuan untuk menawarkan antarmuka sederhana untuk mengaturnya - menghadirkan header standar yang memadai untuk sebagian besar situs web WP, namun juga memungkinkan pembuat kode untuk mengatur atau mengubah header apa pun - dan itu mungkin termasuk header HTTP yang disesuaikan juga.
Sesuai keinginan kami, perpustakaan ini dapat diinstal menggunakan Komposer
composer require carloswph/wp-secure-headers
.
Alternatifnya, Anda cukup menyalin kelas di dalam folder src
dan menggunakannya di plugin atau tema Anda.
Kelas WPHSecurityHeaders
menyisipkan header aman untuk Wordpress. Karena itu, ia sudah dilengkapi dengan beberapa header dasar, yang dapat dilihat dengan menggunakan metode statis wPHSecurityHeaders::list()
. Di masa depan, kami bermaksud membangun beberapa metode berantai untuk memungkinkan konfigurasi dua header spesifik secara detail: Kebijakan-Keamanan-Konten dan Kebijakan-Izin. Untuk saat ini, keduanya dapat ditambahkan ke instance kelas melalui metode 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.
Sejak versi 1.2.0, perpustakaan ini memiliki kelas tambahan, yang dapat diteruskan sebagai argumen melalui kelas utama dan menambahkan header Kebijakan Keamanan Konten setelah dikonfigurasi dengan lusinan metode rantai. Contoh:
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
Selain semua metode untuk mengonfigurasi berbagai arahan Kebijakan-Keamanan-Konten satu per satu, kelas tambahan ini juga memiliki metode ReportOnly(), yang menunjukkan kelas utama yang headernya harus disetel sebagai Hanya-Kebijakan-Keamanan-Konten-Laporan-Saja. Semua dokumentasi dan informasi tentang header kompleks ini dapat ditemukan di dalam komentar docblock kelas.