文件上传在生产环境中违反 Angular 内容安全策略

标签 angular content-security-policy

我有一个 Angular 应用程序,用户可以在其中上传和提交图像,在本地工作时一切正常,但是一旦我构建了我的项目并托管了它,当我尝试通过 file input 上传图像时,我遇到了违反内容安全策略的错误,并且显示图像的预览

这是我遇到的错误示例:

Refused to load the image 'data:image/png;base64,/9j/...' because it violates the following
Content Security Policy directive: "default-src https: 'unsafe-eval' 'unsafe-inline'".
Note that 'img-src' was not explicitly set, so 'default-src' is used as a fallback.

用户使用表单内的文件输入选择文件后立即显示错误,预览图像显示为断开的链接。

我尝试在我的 index.html 元标记中实现一些 CSP,如下所示:

<meta http-equiv="Content-Security-Policy" content="script-src 'self'; style-src 'self'; img-src 'self';" />

但它没有用,您可以推荐他们的一些文档以了解我的问题吗?

如果您需要任何代码或更多信息,请告诉我,老实说,我不确定首先导致问题的原因。

最佳答案

也许这能帮上忙? https://github.com/Azure/static-web-apps/issues/2还有这个https://learn.microsoft.com/en-us/azure/static-web-apps/routes#default-headers 我无法访问 azure,所以我只能提供资源,但也许通过遵循这些资源,您将能够更改 csp 以满足您的需要。

关于文件上传在生产环境中违反 Angular 内容安全策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66720577/

相关文章:

html - 在 mat-h​​eader-col 中垂直居中文本?

angular - Typescript 中的 Boolean 和 boolean 有什么区别?

node.js - 报告 URI 上缺少内容安全策略违规详细信息

content-security-policy - 内容安全策略作为黑名单

jQuery 3.1.1 违反 CSP 指令

firefox - Chrome 是否违反了内容安全政策?

javascript - 如何将模块添加到我的 SystemJs 配置文件中,以便我可以以 Angular 导入它

http - Angular2/http 异常没有 ConnectionBackend

angular - 无法在 Angular 2 中使用 subscribe() 方法为变量赋值

javascript - 内容安全策略错误,没有任何内联 JavaScript