Estou definindo um cabeçalho Content-Security-Policy no meu arquivo .htaccess, e ele cresceu e se tornou uma linha única extremamente longa, que é um incômodo de gerenciar. Existe alguma maneira de dividir essa linha em substrings mais gerenciáveis?
Como um exemplo trivial, digamos que estou definindo um cabeçalho como
Header set Content-Security-Policy "deafult-src http://domainA.com; script-src http://domainB.com"
Eu posso (sem problemas óbvios de quebra) realizar meu caso específico com algo como
Header append Content-Security-Policy "default-src http://domainA.com;"
Header append Content-Security-Policy "script-src http://domainB.com"
mas isso inserirá vírgulas na string, então eu ainda estava curioso para saber se havia uma resposta melhor que pudesse ser aplicada em geral, sem adicionar caracteres adicionais à resposta.
O que seria ideal é se houvesse algum caractere de concatenação que eu pudesse usar para quebrar a cadeia em partes menores, como
Header set Content-Security-Policy "default-src http://domainA.com;"
\" script-src http://domainB.com"
ou
Header set Content-Security-Policy "default-src http://domainA.com;"^
" script-src http://domainB.com"
ou
Header set Content-Security-Policy "default-src http://domainA.com;"
+" script-src http://domainB.com"
Como alternativa, se eu pudesse definir algum tipo de variável e simplesmente despejar seu conteúdo para fazer algo como
a="default-src http://domainA.com;"
b=" script-src http://domainB.com"
Header set Content-Security-Policy $a$b
isso também seria muito mais gerenciável.
Havia um tópico semelhante que surgiu para o nginx e a conclusão era apenas para conviver com as longas filas (eles estavam lidando com um longo regex, para que a solução acrescentada não tivesse funcionado); Esse também será o caso do Apache?
fonte
Respostas:
O seguinte deve funcionar:
fonte
Invalid command 'Header', perhaps misspelled or defined by a module not included in the server configuration
.a2enmod headers
Sim - a barra invertida funciona como uma continuação de linha . Isso está oculto na documentação do Apache 2.4 em [ https://httpd.apache.org/docs/2.4/configuring.html#page-header]
Regras importantes:
Se essas regras não forem obedecidas, o servidor responderá com um erro 500.
fonte