W moim pliku .htaccess ustawiam nagłówek Content-Security-Policy, który urósł do bardzo długiej pojedynczej linii, co sprawia kłopot. Czy jest jakiś sposób na podzielenie tej linii na łatwiejsze do zarządzania podciągi?
Jako trywialny przykład, powiedzmy, że ustawiam nagłówek podobny do
Header set Content-Security-Policy "deafult-src http://domainA.com; script-src http://domainB.com"
Mogę (bez oczywistych problemów z przerwaniem) zrealizować mój konkretny przypadek za pomocą czegoś takiego
Header append Content-Security-Policy "default-src http://domainA.com;"
Header append Content-Security-Policy "script-src http://domainB.com"
ale to wstawi przecinki do ciągu, więc wciąż byłem ciekawy, czy istnieje lepsza odpowiedź, którą można by zastosować ogólnie, bez dodawania dodatkowych znaków do odpowiedzi.
Idealne byłoby, gdyby istniał jakiś znak konkatenacji, którego mógłbym użyć do podzielenia łańcucha na mniejsze części, na przykład
Header set Content-Security-Policy "default-src http://domainA.com;"
\" script-src http://domainB.com"
lub
Header set Content-Security-Policy "default-src http://domainA.com;"^
" script-src http://domainB.com"
lub
Header set Content-Security-Policy "default-src http://domainA.com;"
+" script-src http://domainB.com"
Alternatywnie, gdybym mógł ustawić jakąś zmienną i po prostu zrzucić jej zawartość, aby zrobić coś takiego
a="default-src http://domainA.com;"
b=" script-src http://domainB.com"
Header set Content-Security-Policy $a$b
byłoby to również o wiele łatwiejsze w zarządzaniu.
Było podobny wątek, który pojawił się na nginx i konkluzja była po prostu żyć z długich kolejkach (oni mieli do czynienia z długą regex, więc rozwiązanie Dołącz by nie pracował); Czy tak też będzie w przypadku Apache?
źródło
Odpowiedzi:
Następujące powinny działać:
źródło
Invalid command 'Header', perhaps misspelled or defined by a module not included in the server configuration
.a2enmod headers
Tak - odwrotny ukośnik działa jako kontynuacja linii . Jest to zakopane w dokumentacji Apache 2.4 na [ https://httpd.apache.org/docs/2.4/configuring.html#page-header]
Ważne zasady:
Jeśli te zasady nie będą przestrzegane, serwer odpowie błędem 500.
źródło