Nest 实战 (五)
网络安全 helmet
注意
- 默认头带有框架信息,如:
X-Powered-By: Express
- 默认头带有服务器信息,如:
Server: Express
- 默认头带有安全信息,如:
X-Download-Options: noopen
- 默认头带有安全信息,如:
X-Content-Type-Options: nosniff
所以针对以上信息,我们需要使用 helmet 来进行安全防护
1. 安装依赖
bash
pnpm i helmet -S
2. 使用
ts
// 网络安全
import helmet from "helmet";
// web 安全,防常见漏洞
// 注意: 开发环境如果开启 nest static module 需要将 crossOriginResourcePolicy 设置为 false 否则 静态资源 跨域不可访问
// crossOriginOpenerPolicy
//这个头部用于控制一个文档与其跨源 opener 之间的关系。在这个例子中,设置为'same-origin-allow-popups',表示允许同源能访问 不同源 访问不了
// crossOriginResourcePolicy:这个选项用于设置 Cross-Origin-Resource-Policy HTTP 头部。这个头部用于控制一个文档如何处理跨源资源请求。在这个例子中,设置为 false,表示禁用这个功能。
app.use(
helmet({
crossOriginOpenerPolicy: { policy: "same-origin-allow-popups" },
crossOriginResourcePolicy: false,
})
);