使用本地HTACCESS文件(APACHE)实现内容安全策略



我是Web Dev的新手,只想在某个网页上实现内容安全策略。

这是我到目前为止所做的: 1.以这种方式设置标头:

Header set Content-Security-Policy "
    default-src 'self';
    script-src 'self';
" 
  1. 此设置后,内部服务器错误出现了500个内部服务器错误。阅读必须启用mod_headers的地方。因此使用:
  2. 启用它
sudo a2enmod headers
sudo service apache2 restart
  1. .htaccess现在看起来像这样:
<IfModule mod_headers.c>Header set Content-Security-Policy "
    default-src 'self';
    script-src 'self';
"</IfModule>

现在,问题是我现在没有遇到任何错误,但仍未设置标头。如果我缺少某些东西,请告知我。我已经浏览了其他线程,并遵循了整个路径:如何实施内容安全策略? 还有其他一些问题。P.S我在Ubuntu上使用Apache和PHP 14.04

对于任何想要使用线路休息的人(并且您将要使用flin Breaks用于真正复杂的CSP),Apache可以通过简单地用后挡板结束一条线()指示该命令在下一行上继续。例如(取自Hassan的原始帖子):

<IfModule mod_headers.c>Header set Content-Security-Policy "
    
    default-src 'self'; 
    
    script-src 'self'; 
    
"</IfModule>

请注意,后斜线之前的空白无关紧要。您可以在非Whitespace字符之后立即具有后斜线,也可以添加一个或多个空格,标签等,然后以斜线结尾。空白行必须包括后斜线作为行上的最后一个字符。

参考:https://httpd.apache.org/docs/current/configuring.html

httpd配置文件每行包含一个指令。backSlash" &quot可以用作行上的最后一个字符,以表明该指令继续在下一行上。后斜线和行末端之间必须没有其他字符或空白。

您是否尝试过无需线断路设置标头?我不确定Apache将如何附加标题,但我一直认为(如果我错了,请纠正我),它们会根据换行符进行解析。

所以尝试以下内容:

<IfModule mod_headers.c>
    Header set Content-Security-Policy "default-src 'self'; script-src 'self';"
</IfModule>

您还可以通过 php 设置标头,该标题将使您的Content-Security-Policy独立于Web服务器。

好的,所以它通过添加相同的行而解决了。

标题集content-security-policy" default-src'self'; script-src '自我';"

但是在文件/etc/apache2/apache2.conf中,它起作用。从此获得帮助:使用Apache HTTP Server

使用内容安全策略SCIPT-SRC SHA功能

相关内容

  • 没有找到相关文章

最新更新