我尝试让标签在express/node.js环境中工作,但不知何故它们总是被内容安全策略阻止。
\n\n我已经尝试使用多个节点模块,例如express-csp-header或csp-header,但它们都没有成功。所以我又回到了“正常”的声明。
\n\n这是我的 server.ts 脚本的顶部:
\n\napp.use((req: any, res: any, next: any) => {\n res.set({\n "Access-Control-Allow-Origin": "*",\n "Access-Control-Allow-Headers": "Origin, X-Requested-With, Content-Type, Accept",\n "Access-Control-Allow-Methods": "GET, POST, PATCH, DELETE, OPTIONS",\n "Content-Security-Policy": "default-src *",\n "X-Content-Security-Policy": "default-src *",\n "X-WebKit-CSP": "default-src *"\n })\n next();\n});\nRun Code Online (Sandbox Code Playgroud)\n\n它由 webpack 编译,node 运行在 localhost 上,端口为 3000。
\n\n它不适用于仅“default-src *”或类似的。我什至尝试单独声明每种内容类型,例如
\n\n"default-src * \'self\' \'unsafe-inline\' \'unsafe-eval\'; script-src * \'self\' \'unsafe-inline\' \'unsafe-eval\' localhost:*/*"\nRun Code Online (Sandbox Code Playgroud)\n\n这是 html 页面的 body 标记之后的脚本部分:\n(将其放在 head 部分也没有改变任何内容)
\n\n<script src="scripts/loginFunctions.js"></script>\nRun Code Online (Sandbox Code Playgroud)\n\n也许有一些重要的事情:\nHTML 输出由 squirrelly(express 的模板引擎)提供 …
javascript http-headers node.js express content-security-policy