内容安全策略:页面的设置阻止了资源的加载?
Content Security Policy: The page's settings blocked the loading of a resource at self?
我在 Tomcat 6 上有基于 Java-based 的 Web 应用程序 运行。我的应用程序是 运行 在本地主机和端口 9001 上。
为了使我的应用程序更安全并降低 XSS 攻击的风险,我添加了 header Content-Security-Policy
值 default-src * 'unsafe-inline' 'unsafe-eval';script-src 'self'。有了这个,我想允许 Web 应用程序从同一域加载 JavaScript 文件。
对于其他资源,它将继续以与没有此 header 时相同的方式加载。
但我收到以下错误。
Content Security Policy: The page's settings blocked the loading of a resource at self ("script-src http://localhost:9001").
内容安全策略header 是可信来源的白名单。
default-src
列表是所有其他 *-src
列表使用的列表。如果不存在,则默认为 default-src: *
,即 "all content is allowed from anywhere",不提供任何针对 XSS 的保护。
因此,您应该从
开始
default-src none
,这样所有的内容都是不允许的,或者
default-src 'self'
,以便仅允许您域中的内容。
之后,其他的*-src
可以根据需要替换。例如,以下除了图像之外的所有内容都信任自己,并且图像只允许来自 example.com(而不是来自 'self'):
default-src 'self'; img-src example.com;
在您的问题中,您指定了 default-src * 'unsafe-inline' 'unsafe-eval';
,这可能是导致问题的原因,因为 *
已经暗示了 'unsafe-inline'
和 'unsafe-eval'
。就像说 "allow everything and allow inline and allow eval".
另请注意,IE >= 8 中的 X-Content-Security-Header
支持 CSP。
来源:
尝试:
default-src * 'unsafe-inline' 'unsafe-eval';script-src 'self' 'unsafe-inline' 'unsafe-eval'
我在 Tomcat 6 上有基于 Java-based 的 Web 应用程序 运行。我的应用程序是 运行 在本地主机和端口 9001 上。
为了使我的应用程序更安全并降低 XSS 攻击的风险,我添加了 header Content-Security-Policy
值 default-src * 'unsafe-inline' 'unsafe-eval';script-src 'self'。有了这个,我想允许 Web 应用程序从同一域加载 JavaScript 文件。
对于其他资源,它将继续以与没有此 header 时相同的方式加载。
但我收到以下错误。
Content Security Policy: The page's settings blocked the loading of a resource at self ("script-src http://localhost:9001").
内容安全策略header 是可信来源的白名单。
default-src
列表是所有其他 *-src
列表使用的列表。如果不存在,则默认为 default-src: *
,即 "all content is allowed from anywhere",不提供任何针对 XSS 的保护。
因此,您应该从
开始default-src none
,这样所有的内容都是不允许的,或者default-src 'self'
,以便仅允许您域中的内容。
之后,其他的*-src
可以根据需要替换。例如,以下除了图像之外的所有内容都信任自己,并且图像只允许来自 example.com(而不是来自 'self'):
default-src 'self'; img-src example.com;
在您的问题中,您指定了 default-src * 'unsafe-inline' 'unsafe-eval';
,这可能是导致问题的原因,因为 *
已经暗示了 'unsafe-inline'
和 'unsafe-eval'
。就像说 "allow everything and allow inline and allow eval".
另请注意,IE >= 8 中的 X-Content-Security-Header
支持 CSP。
来源:
尝试:
default-src * 'unsafe-inline' 'unsafe-eval';script-src 'self' 'unsafe-inline' 'unsafe-eval'