我在Tomcat 6上运行了基于Java的web应用程序,我的应用程序运行在本地主机和端口9001上。
为了使我的应用程序更加安全,并降低XSS攻击的风险,我添加了值为的头默认值-src*‘不安全-内联’‘不安全-eval’;脚本-src 'self'。有了这一点,我希望允许web应用程序从同一个域加载JavaScript文件。
对于其他资源,它继续以与没有此头的情况相同的方式加载。
但是我得到了下面的错误。
Content Security Policy: The page's settings blocked the loading of a resource at self ("script-src http://localhost:9001").发布于 2015-10-31 17:00:58
标头是受信任源的白列表。
default-src列表是所有其他*-src列表使用的列表。如果它不存在,默认的是default-src: *,这意味着“所有内容都允许从任何地方”,这并不提供任何针对XSS的保护。
因此,您应该从
default-src none,因此所有内容都不被允许,或者default-src 'self',因此只允许来自您的域的内容。在此之后,可以根据需要替换其他*-src。例如,除了图像之外,以下所有内容都信任self,并且图像仅允许来自example.com (但不允许来自“self”):
default-src 'self'; img-src example.com;在您的问题中,您指定了可能导致问题的default-src * 'unsafe-inline' 'unsafe-eval';,因为*已经暗示了'unsafe-inline'和'unsafe-eval'。这就像说“允许所有的事情,允许内联的,允许进化的”。
还请注意,通过IE X-Content-Security-Header 8中的X-Content-Security-Header支持CSP。
资料来源:
发布于 2015-11-01 07:44:04
尝试:
default-src * 'unsafe-inline' 'unsafe-eval';script-src 'self' 'unsafe-inline' 'unsafe-eval'https://stackoverflow.com/questions/33453405
复制相似问题