我在我的.htaccess文件中设置了一个Content-Security-Policy头,它已经变成了一个非常长的单行,这是一个麻烦的pipe理。 有没有办法把这一行分解成更易于pipe理的子string?
作为一个微不足道的例子,说我正在设置一个标题
Header set Content-Security-Policy "deafult-src http://domainA.com; script-src http://domainB.com"
我可以(没有明显的突破问题)用类似的东西来完成我的具体情况
Header append Content-Security-Policy "default-src http://domainA.com;" Header append Content-Security-Policy "script-src http://domainB.com"
但是会在string中插入逗号,所以我仍然好奇是否有更好的答案可以普遍应用,而不需要在响应中添加额外的字符。
如果有一些连接字符可以用来将string拆分成更小的部分,那么理想的是什么
Header set Content-Security-Policy "default-src http://domainA.com;" \" script-src http://domainB.com"
要么
Header set Content-Security-Policy "default-src http://domainA.com;"^ " script-src http://domainB.com"
要么
Header set Content-Security-Policy "default-src http://domainA.com;" +" script-src http://domainB.com"
另外,如果我可以设置某种variables,只是倾倒他们的内容做类似的事情
a="default-src http://domainA.com;" b=" script-src http://domainB.com" Header set Content-Security-Policy $a$b
这也将是更多的pipe理。
对于nginx来说也有类似的话题,结论只是为了应付长长的一句话(他们正在处理一个很长的正则expression式,所以附加的解决scheme将不起作用)。 Apache也会这样吗?
以下应该工作:
Header set Content-Security-Policy "default-src http://domainA.com; \ script-src http://domainB.com"
是的 – 反斜线作为换行符。 这是埋在https://httpd.apache.org/docs/2.4/configuring.html的Apache 2.4文档
重要规则:
1)一行中的空格是好的,即。 任何数量的选项卡和空格;
2)除最后一行之外的所有行上的最后一个字符必须是反斜杠;
3)最后一行不能以反斜线结尾;
4)Apache注释字符(#) 不能用来注释掉一行。
如果这些规则不服从,服务器将以错误500响应。