💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
# Helmet Helmet通过设置各种HTTP标头来帮助您保护Express应用程序。 ## 快速开始 ~~~ const express = require('express') const helmet = require('helmet') const app = express() app.use(helmet()) ~~~ 最好在中间件堆栈的早期使用Helmet,以确保其头部设置。 单独使用它的片段: ~~~ app.use(helmet.noCache()) app.use(helmet.frameguard()) ~~~ 禁用默认配置的某些功能 ~~~ app.use(helmet({ frameguard: false })) ~~~ 设置属性 ~~~ app.use(helmet({ frameguard: { action: 'deny' } })) ~~~ ## 工作原理 Helmet是12个较小的中间件函数的集合,用于设置HTTP头。 默认情况下,运行app.use(helmet())将不包括所有这些中间件功能。 | 模块 | 默认? | 功能 | |---|---|---| | [contentSecurityPolicy ](https://helmetjs.github.io/docs/csp/)| | 设置Content Security Policy | | [expectCt ](https://helmetjs.github.io/docs/expect-ct/)| | 证书透明度 | | [dnsPrefetchControl](https://helmetjs.github.io/docs/dns-prefetch-control) | ✓| 控制浏览器DNS prefetching| | [frameguard](https://helmetjs.github.io/docs/frameguard/) |✓| 防止点击挟持| |[hidePoweredBy](https://helmetjs.github.io/docs/hide-powered-by)|✓| 移除X-Powered-By header| |[hpkp](https://helmetjs.github.io/docs/hpkp/)| | HTTP公钥固定| |[hsts](https://helmetjs.github.io/docs/hsts/)|✓| HTTP Strict Transport Security | |[ienoopen](https://helmetjs.github.io/docs/ienoopen/)|✓|为IE8设置X-Download-Options |[nocache](https://helmetjs.github.io/docs/nocache/)||禁用浏览器缓存 |[noSniff](https://www.npmjs.com/package/helmet)|✓|防止客户端嗅探MIME类型 |[referrerPolicy](https://helmetjs.github.io/docs/referrer-policy)|||隐藏Referer header |[xssFilter](https://helmetjs.github.io/docs/xss-filter)|✓||增加了一些小的XSS保护