我在.htaccess文件中设置了Content-Security-Policy标头,并且它已经成长为一个非常长的单行,这很麻烦管理。有什么方法可以将这一行分解为更易于管理的子字符串?
作为一个简单的例子,说我正在设置标题
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"
但这会在字符串中插入逗号,因此我仍然很好奇是否可以在不添加其他字符的情况下普遍使用更好的答案。
理想的情况是,如果有一些串联字符可以用来将字符串分成较小的部分,例如
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"
或者,如果我可以设置某种变量并仅转储其内容以执行类似的操作
a="default-src http://domainA.com;"
b=" script-src http://domainB.com"
Header set Content-Security-Policy $a$b
那也将更易于管理。
对于nginx,有一个类似的话题,其结论只是为了适应冗长的行(他们正在处理一个长的正则表达式,因此append解决方案将行不通)。Apache也是如此吗?
在每个子字符串之后,Holding shift和按下Enter会成功吗?
—
StixO
@StixO不,这个问题与apache如何解析conf文件中的字符串有关。通常,(通常是HTML)编辑器会使用这种快捷方式来区分换行符(例如<br />)和段落换行符(</ p>)。这将取决于要解析的标记格式和编辑器。Apache conf文件是纯文本,因此在段落与段落之间没有任何区别(无论是否使用修饰符,enter都会产生一个与系统相关的单个回车符,例如\ n或\ r)。
—
MaxPRafferty '16