Скажем, у меня есть расширение для Chrome, которое добавляет заголовки для блокировки и сообщения о межсайтовых сценариях. Когда я пытаюсь использовать два заголовка Content Security Policy, один из которых является только отчетом, оба не работают. Только то или иное. Это ошибка в хроме? В спецификации ясно, что они не должны мешать друг другу.
Я предполагаю, что для директивы sandbox
может быть особый случай, и если я разобью ее на составные части, она может сработать. Другим возможным решением может быть изменение порядка, но в этом случае работает только один. В противном случае, в худшем случае, в хроме есть ошибка, препятствующая нормальной работе как Content-Security-Policy-Report-Only, так и Content-Security-Policy.
Вот заголовки, которые я добавляю:
var csp1 = {
'name': 'Content-Security-Policy-Report-Only',
'value': "sandbox; report-uri http://localhost/csp"
}
headers.push(csp1);
var csp2 = {
'name': 'Content-Security-Policy',
'value': "default-src 'none'; report-uri http://localhost/csp"
}
headers.push(csp2);
Я попытался найти кодовую базу хрома без очевидного решения, и я надеюсь, что это то, с чем кто-то сталкивался раньше и может мне помочь.
Кто-нибудь из разработчиков Chrome может ответить на этот вопрос?
РЕДАКТИРОВАТЬ: я только что нашел это https://bugs.chromium.org/p/chromium/issues/detail?id=503730
В нем говорится, что в хроме действительно была ошибка, препятствующая совместной работе CSP и CSPRO, и что она была исправлена. Тем не менее, это все еще не работает для меня.