网页设置CSP时如何允许上传XML、JSON和CSV文件
How to allow XML, JSON and CSV files to be uploaded when CSP is set in the webpage
目前,我在我网页的HTML文件中设置了以下CSP header -
default-src 'none'; script-src 'strict-dynamic' 'nonce-RANDOM' 'unsafe-eval' 'unsafe-inline' ; object-src 'none'; style-src 'self' 'unsafe-inline' 'unsafe-eval' https://fonts.googleapis.com; img-src * data:; media-src 'self' https://maps.gstatic.com https://maps.googleapis.com https://maps.google.com https://*.s3.amazonaws.com data:; form-action *; frame-src 'self' https://feed.mikle.com; font-src 'self' https://fonts.gstatic.com data:; base-uri 'self'; connect-src *
我们网页上的一项功能需要用户上传 XML 文件,而另一项功能需要 JSON 或 CSV 文件才能运行。
有没有办法在设置CSP时不限制这些文件的上传?如果是,怎么做?
问题的产生和修复如下 -
在 HTML 表单中将 XML 文件作为输入的按钮有一个内联事件处理程序,CSP 策略阻止了它,从而阻止了上传。我将此内联事件处理程序移至外部函数并调用该函数。这解决了问题,CSP 不再阻止该功能。
目前,我在我网页的HTML文件中设置了以下CSP header -
default-src 'none'; script-src 'strict-dynamic' 'nonce-RANDOM' 'unsafe-eval' 'unsafe-inline' ; object-src 'none'; style-src 'self' 'unsafe-inline' 'unsafe-eval' https://fonts.googleapis.com; img-src * data:; media-src 'self' https://maps.gstatic.com https://maps.googleapis.com https://maps.google.com https://*.s3.amazonaws.com data:; form-action *; frame-src 'self' https://feed.mikle.com; font-src 'self' https://fonts.gstatic.com data:; base-uri 'self'; connect-src *
我们网页上的一项功能需要用户上传 XML 文件,而另一项功能需要 JSON 或 CSV 文件才能运行。
有没有办法在设置CSP时不限制这些文件的上传?如果是,怎么做?
问题的产生和修复如下 -
在 HTML 表单中将 XML 文件作为输入的按钮有一个内联事件处理程序,CSP 策略阻止了它,从而阻止了上传。我将此内联事件处理程序移至外部函数并调用该函数。这解决了问题,CSP 不再阻止该功能。