WordPress 中有很多实用的钩子(Hooks),wp_headers 挂钩可用于修改 WordPress 的 HTTP 标头。使用此挂钩可将安全标头添加到网站响应 HTTP 标头里。另外还可以将字体、Logo图片等每页都需加载的资源添加到预加载列表中提升速度。

加几行代码到HTTP标头 提升WordPress安全性与性能
加几行代码到HTTP标头 提升WordPress安全性与性能

wp_headers 挂钩

示范代码:

function mmeasy_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://www.mmeasy.cn>; rel=preconnect; crossorigin'; 
	$headers['Link'] = '<https://www.mmeasy.cn/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', 'mmeasy_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: <url>; rel=preload; as=image 注意替换URL为实际地址,一般可以将顶部的LOGO或首屏需要加载的图片添加到预加载列表,从而提高网页性能与 LCP 得分。

声明:
本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。
本站信息来自网络收集整理,版权争议与本站无关。
您必须在下载后的24个小时之内,从您的电脑或手机等设备中彻底删除上述内容。如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。
我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!