类 SecurityHeadersMiddleware
以方便的方式处理常见的安全标头
链接: https://book.cakephp.com.cn/5/en/controllers/middleware.html#security-header-middleware
常量
-
字符串
ALL ¶'all'
-
字符串
ALLOW_FROM ¶'allow-from'
-
字符串
BY_CONTENT_TYPE ¶'by-content-type'
-
字符串
BY_FTP_FILENAME ¶'by-ftp-filename'
-
字符串
DENY ¶'deny'
-
字符串
MASTER_ONLY ¶'master-only'
-
字符串
NONE ¶'none'
-
字符串
NOOPEN ¶'noopen'
-
字符串
NOSNIFF ¶'nosniff'
-
字符串
NO_REFERRER ¶'no-referrer'
-
字符串
NO_REFERRER_WHEN_DOWNGRADE ¶'no-referrer-when-downgrade'
-
字符串
ORIGIN ¶'origin'
-
字符串
ORIGIN_WHEN_CROSS_ORIGIN ¶'origin-when-cross-origin'
-
字符串
SAMEORIGIN ¶'sameorigin'
-
字符串
SAME_ORIGIN ¶'same-origin'
-
字符串
STRICT_ORIGIN ¶'strict-origin'
-
字符串
STRICT_ORIGIN_WHEN_CROSS_ORIGIN ¶'strict-origin-when-cross-origin'
-
字符串
UNSAFE_URL ¶'unsafe-url'
-
字符串
XSS_BLOCK ¶'block'
-
字符串
XSS_DISABLED ¶'0'
-
字符串
XSS_ENABLED ¶'1'
-
字符串
XSS_ENABLED_BLOCK ¶'1; mode=block'
属性概览
-
$headers protected
array<string, mixed>
要设置的安全相关标头
方法概览
-
checkValues() protected
用于检查值是否在允许参数列表中的便捷方法
-
noOpen() public
X-Download-Options
-
noSniff() public
X-Content-Type-Options
-
process() public
如果路径与其中一个匹配,则提供资产
-
setCrossDomainPolicy() public
X-Permitted-Cross-Domain-Policies
-
setPermissionsPolicy() public
权限策略
-
setReferrerPolicy() public
Referrer-Policy
-
setXFrameOptions() public
X-Frame-Options
-
setXssProtection() public
X-XSS-Protection。这是一个非标准功能并且已过时。对于现代浏览器,请使用一个强大的内容安全策略,该策略通过“unsafe-inline”选项禁用内联 JavaScript 的使用。
方法详情
checkValues() ¶ protected
checkValues(string $value, list<string> $allowed): void
用于检查值是否在允许参数列表中的便捷方法
参数
-
string
$value 要检查的值
-
list<string>
$allowed 允许值的列表
返回
void
抛出
InvalidArgumentException
当值无效时抛出。
noOpen() ¶ public
noOpen(): $this
X-Download-Options
将标头的值设置为“noopen”
返回
$this
链接
noSniff() ¶ public
noSniff(): $this
X-Content-Type-Options
将标头的值设置为“nosniff”
返回
$this
链接
process() ¶ public
process(ServerRequestInterface $request, RequestHandlerInterface $handler): Psr\Http\Message\ResponseInterface
如果路径与其中一个匹配,则提供资产
处理传入的服务器请求以生成响应。如果无法自行生成响应,它可能会委托给提供的请求处理程序来执行此操作。
参数
-
ServerRequestInterface
$request 请求。
-
RequestHandlerInterface
$handler 请求处理程序。
返回
Psr\Http\Message\ResponseInterface
setCrossDomainPolicy() ¶ public
setCrossDomainPolicy(string $policy = self::ALL): $this
X-Permitted-Cross-Domain-Policies
参数
-
string
$policy optional 策略值。可用值:'all'、'none'、'master-only'、'by-content-type'、'by-ftp-filename'
返回
$this
链接
setPermissionsPolicy() ¶ public
setPermissionsPolicy(string $policy): $this
权限策略
参数
-
string
$policy 策略值。
返回
$this
链接
https://www.w3.org/TR/permissions-policy/
setReferrerPolicy() ¶ public
setReferrerPolicy(string $policy = self::SAME_ORIGIN): $this
Referrer-Policy
参数
-
string
$policy optional 策略值。可用值:'no-referrer'、'no-referrer-when-downgrade'、'origin'、'origin-when-cross-origin'、'same-origin'、'strict-origin'、'strict-origin-when-cross-origin'、'unsafe-url'
返回
$this
链接
setXFrameOptions() ¶ public
setXFrameOptions(string $option = self::SAMEORIGIN, string|null $url = null): $this
X-Frame-Options
参数
-
string
$option 可选 选项值。可用值:'deny'、'sameorigin'、'allow-from
' -
string|null
$url 可选 如果模式为
allow-from
时的 URL
返回
$this
链接
setXssProtection() ¶ public
setXssProtection(string $mode = self::XSS_BLOCK): $this
X-XSS-Protection。这是一个非标准功能并且已过时。对于现代浏览器,请使用一个强大的内容安全策略,该策略通过“unsafe-inline”选项禁用内联 JavaScript 的使用。
参数
-
string
$mode 可选 模式值。可用值:'1'、'0'、'block'
返回
$this