内容安全策略无效命令

dav*_*aid 5 apache command content-security-policy

我在.htacces文件中添加了以下行:

Content-Security-Policy: default-src 'self'
X-Content-Security-Policy: default-src 'self'
X-WebKit-CSP: default-src 'self'
Run Code Online (Sandbox Code Playgroud)

但我总是遇到以下错误:

Invalid command 'Content-Security-Policy:', perhaps misspelled or defined by a module not included in the server configuration
Run Code Online (Sandbox Code Playgroud)

我不明白.我必须激活哪个Apache模块?这些线有什么问题?

大卫,大卫

dAm*_*m2K 10

将这些行添加到httpd.conf配置文件中,或虚拟主机部分内部或.htaccess文件中:

Header unset Content-Security-Policy
Header add Content-Security-Policy "default-src 'self'"
Header unset X-Content-Security-Policy
Header add X-Content-Security-Policy "default-src 'self'"
Header unset X-WebKit-CSP
Header add X-WebKit-CSP "default-src 'self'"
Run Code Online (Sandbox Code Playgroud)

您可能还有兴趣添加这些标题:

Header set X-Content-Type-Options "nosniff"
Header set X-XSS-Protection "1; mode=block"
Header set X-Frame-Options "DENY"
Header set Strict-Transport-Security "max-age=631138519; includeSubDomains"
Run Code Online (Sandbox Code Playgroud)

如果尚未启用,则必须启用(LoadModule)mod_headers,然后重新启动apache.

  • @ Bertrand31更清楚使用`Header add`指令可以导致多个同名的头,而`Header set`则不会:`Header add:响应头被添加到现有的头集,即使这个头已经存在.这可能导致两个(或更多)标题具有相同的名称.这可能会导致不可预见的后果,而且一般来说,应该使用追加或合并 (3认同)
  • 另外,根据[OWASP](https://www.owasp.org/index.php/Content_Security_Policy_Cheat_Sheet#HTTP_Headers),不建议使用X-Content-Security-Policy或X-WebKit-CSP,因为它们的实现已经过时了(因为Firefox 23,Chrome 25),有限,不一致,而且非常多 (2认同)

ore*_*ake 1

我不是 apache 专家,但内容安全策略是响应标头。http://httpd.apache.org/docs/2.2/mod/mod_headers.html