2016-02-19 2 views
4

Я не могу окунуть голову в отчет о нарушении CSP ниже (отправлено FireFox 44.0.2/Ubuntu). Что действительно блокируется здесь и почему? Следует отметить, что неважно, напишу ли я 'self' или (как автоматически преобразуется в отчете) https://www.example.com в заголовок CSP. Кроме того, я не знаю ничего, чего не хватает на отображаемой странице. Так что я могу сделать против этого? (По-видимому, я не должен добавить отчетов в моем живом сайте, если каждая страница вызывает поддельное сообщение о нарушении)Почему это нарушение CSP? заблокирован-uri = self, когда явно разрешено «я»

{ 
    "csp-report":{ 
     "blocked-uri":"self", 
     "document-uri":"https://www.example.com/foo/bar/baz.html", 
     "original-policy":"report-uri https://reportserver.example.com/ContentSecurityPolicy-report.php; 
      default-src https://www.example.com; 
      style-src https://example.com https://www.example.com https://fonts.googleapis.com; 
      script-src https://www.example.com https://code.jquery.com https://ajax.googleapis.com; 
      font-src https://fonts.gstatic.com", 
     "referrer":"https://www.example.com/foo/bar/wtf.html", 
     "source-file":"https://www.example.com/foo/bar/baz.html", 
     "violated-directive":"style-src https://example.com https://www.example.com https://fonts.googleapis.com" 
    } 
} 
+0

Разве это развертывается где угодно, где я могу взглянуть? Я не могу придумать ничего, кроме ошибки в firefox, основанной на вашем описании. – oreoshake

+0

@oreoshake Вы можете видеть это (из внешнего в режиме «Только отчет») на 'https: // www.redeker.de /'. Между тем, я несколько подозреваю, что заблокированный может скорее быть каким-то «небезопасным-встроенным» стилем, т. Е. 'Style =" ... "' добавлен в теги, но это не видно в источнике html, потому что он добавляется за каждый скрипт позже (где сам сценарий разрешен для CSP). Но я был бы счастлив, если бы вы подтвердили это подозрение. –

+0

Да, небезопасный-встроенный был необходим. Я часто нахожу, что консоль разработчика более полезна, чем отчеты. Отчет CSP имеет много известных проблем, и одним из них является отчетность о встроенном контенте. – oreoshake

ответ

2

Устанавливая вашу политику:

default-src 'self'; style-src example.com www.example.com 'self' https://fonts.googleapis.com 'unsafe-inline'; script-src 'self' https://code.jquery.com https://ajax.googleapis.com; font-src https://fonts.gstatic.com 'self'; 

Я не вижу какие-либо нарушений. Я добавил «небезопасный-встроенный» стиль src и «self» в font-src.

+0

У меня были проблемы с встроенными стилями и встроенным javascript до тех пор, пока я не добавлю «небезопасные-встроенные» к этим отдельным политикам или политике 'default-src'. Когда вы получаете «заблокированный-uri»: «self», это указывает на то, что есть что-то встроенное, что является проблемой. –

Смежные вопросы