csp-html-webpack-plugin与HtmlWebpackPlugin集成的CSP插件
Webpack 项目的 CSP 策略配置,csp-html-webpack-plugin真是个省心的小工具。配合html-webpack-plugin用,可以自动给你的 HTML 加上Content-Security-Policy标签。它会把内联的 JS、CSS 都自动加上散列值,策略配置写起来省事多了。
直接用npm i --save-dev csp-html-webpack-plugin
装好之后,在你的 webpack 配置里加几行代码就搞定,基本不折腾。像下面这样:
const HtmlWebpackPlugin = require('html-webpack-plugin');
const CspHtmlWebpackPlugin = require('csp-html-webpack-plugin');
plugins: [
new HtmlWebpackPlugin({
template: './src/index.html'
}),
new CspHtmlWebpackPlugin({
'default-src': "'self'",
'script-src': ["'self'"]
}, {
enabled: true,
hashingMethod: 'sha256'
})
]
你只要把 CSP 规则写好,插件就会自动给内联脚本生成sha256散列,不用你手动算。挺适合那些对安全有要求、又不想太折腾的场景。
小建议:配合Webpack 模板或者vue-webpack-starter用,体验更顺滑。如果你有用内联 CSS 或者 JS,记得开启 hash 生成,不然策略会拦。
如果你在做企业级前端、涉及权限或者数据安全的需求,这插件可以省不少事,配置一次,安心不少。
csp-html-webpack-plugin-master.zip
预估大小:26个文件
csp-html-webpack-plugin-master
文件夹
.gitignore
29B
package.json
2KB
package-lock.json
303KB
plugin.jest.js
37KB
.travis.yml
121B
plugin.js
12KB
jest.config.js
192B
test-utils
文件夹
webpack-helpers.js
3KB
98.53KB
文件大小:
评论区