carloswph/wp-secure-headers

为Wordpress网站添加和配置HTTP安全头部及其他功能。

v1.2.1 2021-04-16 09:21 UTC

This package is auto-updated.

Last update: 2024-09-23 16:52:07 UTC


README

这是一个简单的辅助类,用于管理HTTP安全头部,当网站处于任何SSL证书之下时提供。遗憾的是,许多插件用于配置SSL,但遗漏了更详细的部分 - 包含安全头部到请求中。这个类旨在提供一个简单的接口来设置这些头部 - 提供预定义的头部,适合大多数WP网站,同时也允许开发者设置或修改任何头部 - 包括定制的HTTP头部。

安装

根据我们的喜好,这个库可以使用Composer进行安装

composer require carloswph/wp-secure-headers.

或者,您可以直接将类复制到src文件夹中,并在您的插件或主题中使用它。

用法

WPH\Security\Headers类插入Wordpress的安全头部。话虽如此,它已经包含了一些基本头部,可以通过使用静态方法wPH\Security\Headers::list()查看。未来,我们打算构建一些链式方法,以便详细配置两个特定的头部:Content-Security-Policy和Permissions-Policy。目前,这两个头部可以通过set()方法添加到类实例中。

与Composer一起使用

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。所有关于这个复杂头部的文档和信息都可以在类文档注释中找到。

待办事项

  • 设置和配置Permissions Policy头部的相关方法
  • 一些Cookie管理工具