ogo*_*tos 6 content-security-policy reactjs webpack create-react-app
Webpack 具有添加nonce
到它加载的所有脚本的功能。
要激活功能集,您的入口脚本中需要包含 __webpack_nonce__ 变量。
默认情况下生成的 react app 中的入口文件create react app
是index.js
. 所以我需要做的就是添加入口文件:
// ...
__webpack_nonce__ = 'c29tZSBjb29sIHN0cmluZyB3aWxsIHBvcCB1cCAxMjM=';
// ...
Run Code Online (Sandbox Code Playgroud)
最后一件事是启用 webpack CSP。
请注意,默认情况下不启用 CSP。需要与文档一起发送相应的头 Content-Security-Policy 或元标记,以指示浏览器启用 CSP。下面是一个包含 CDN 白名单 URL 的 CSP 标头的示例:
Content-Security-Policy: default-src 'self'; script-src 'self' https://trusted.cdn.com;
但是,我得到了错误
'__webpack_nonce__' is not defined
Run Code Online (Sandbox Code Playgroud)
我试图声明随机数。还是不行。
webpack_nonce在入口文件中指定,而不是在配置中。
那么,我做错了什么?也许文档缺少有关该主题的一些关键信息?如何在 webpack 中为 React 应用启用 CSP 功能?
New*_*ewm -7
如果您使用的是 create-react-app 那么可能是 ESLint 报告了错误。
尝试禁用它的行:
__webpack_nonce__ = 'c29tZSBjb29sIHN0cmluZyB3aWxsIHBvcCB1cCAxMjM='; // eslint-disable-line no-undef
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4791 次 |
最近记录: |