Code前端首页关于Code前端联系我们

WordPress Hooks 用几行代码添加安全标头,提高安全性和性能

terry 2年前 (2023-09-28) 阅读数 70 #Web安全

WordPress 中有很多实用的钩子(Hooks)。 wp_headers 挂钩可用于修改 WordPress HTTP 标头。使用此挂钩将安全标头添加到网站的 HTTP 响应标头。此外,您还可以将每个页面需要包含的资源(例如字体、徽标)添加到预览列表中,以进行快速优化。

wp_headers hook

演示代码:

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** 该指令指示客户端通过 HTTP URL 发送(提供)所有 URL )假定被安全 URL(通过 HTTPS 提供服务的 URL)替换。响应标头

Strict-Transport-Security(通常缩写为 HSTS)用于通知浏览器只能通过 HTTPS 访问该站点,并且应激活所有使用 HTTP 访问站点的尝试自动地。到 HTTPS。

可执行 MIME 类型转换为可用 MIME 类型。从那时起,其他浏览器也包含了这个标头,尽管 MIME 嗅探算法不那么激进。

X-XSS-Protection:1;mode=block 检测到 XSS 攻击时阻止页面加载。

X-Frame-Options HTTP 响应标头用于向浏览器指示页面是否可以通过 、、、 显示,如果设置为SAMEORIGIN,则该页面可以放置在具有相同域名的页面的图像中。

Referrer 策略:跨源时严格源 对于同一来源的请求,将发送完整的 URL 作为引用地址;相同安全级别下,文件源将发送到参考地址(HTTPS->HTTPS);如果此标头已关闭(HTTPS->HTTP),则不要发送该标头。

链接:; rel=预载; as=image 请务必将 URL 替换为实际地址。一般来说,可以在预列表的首屏添加需要包含的顶部LOGO或图片,从而提高网页的性能和LCP分数。

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

热门