正文:
WordPress 中有很多实用的钩子(Hooks),wp_headers 挂钩可用于修改 WordPress 的 HTTP 标头。使用此挂钩可将安全标头添加到网站响应 HTTP 标头里。另外还可以将字体、Logo 图片等每页都需加载的资源添加到预加载列表中提升速度。
wp_headers 挂钩
示范代码:
function zhanzhangb_headers(){
$headers['content-security-policy'] = 'upgrade-insecure-requests';
$headers['strict-transport-security'] = 'max-age=63072000; includeSubDomains; preload';
$headers['X-Content-Type-Options'] = 'nosniff';
$headers['X-XSS-Protection'] = '1; mode=block';
$headers['x-frame-options'] = 'SAMEORIGIN';
$headers['Referrer-Policy'] = 'strict-origin-when-cross-origin';
$headers['Link'] = '<https://fonts.gstatic.com>; rel=preconnect; crossorigin';
$headers['Link'] = '<https://www.yoursite.com/wp-content/uploads/logo.jpg>; rel=preload; as=image';
$headers['Link'] = '</wp-content/uploads/themes/yourtheme/images/logo.webp>; rel=preload; as=image';
return $headers;
}
add_filter( 'wp_headers', 'zhanzhangb_headers', 100 );
将以上代码添加到当前主题的functions.php文件中,或使用代码片段插件。
代码详解:
Content-Security-Policy (CSP) upgrade-insecure-requests 指令指示客户端将该站点的所有不安全 URL(通过 HTTP 提供的 URL)视为已被替换为安全 URL(通过 HTTPS 提供的 URL)。
Strict-Transport-Security(通常简称为 HSTS)响应标头用来通知浏览器应该只通过 HTTPS 访问该站点,并且以后使用 HTTP 访问该站点的所有尝试都应自动重定向到 HTTPS。
X-Content-Type-Options: nosniff 最初是由微软在 IE 8 浏览器中引入的,提供给网站管理员用作禁用内容嗅探的手段,内容嗅探技术可能会把不可执行的 MIME 类型转变为可执行的 MIME 类型。在此之后,其他浏览器也相继引入了这个消息头,尽管它们的 MIME 嗅探算法没有那么有侵略性。
X-XSS-Protection: 1;mode=block 在检测到 XSS 攻击时阻止页面加载。
X-Frame-Options HTTP 响应头是用来给浏览器指示允许一个页面可否在< frame>、< iframe>、< embed>、< object>中展现的标记,如果设置为 SAMEORIGIN,那么页面就可以在同域名页面的 frame 中嵌套。
Referrer-Policy: strict-origin-when-cross-origin 对于同源的请求,会发送完整的 URL 作为引用地址;在同等安全级别的情况下,发送文件的源作为引用地址 (HTTPS->HTTPS);在降级的情况下不发送此首部 (HTTPS->HTTP)。
Link:
转载请注明:汇站网 » 通过在 WordPress 中添加安全标头,可以提高网站的安全性和性能