Почему я должен получить нарушение CSP для заблокированного uri «о»?

Мой URI отчета CSP получил следующее нарушение CSP:

{
  "csp-report":{
    "document-uri":"https://example.com/blog/somepage",
    "referrer":"",
    "violated-directive":"img-src 'self' data: p.typekit.net pbs.twimg.com platform.twitter.com q.stripe.com syndication.twitter.com",
    "effective-directive":"img-src",
    "original-policy": veryLongPolicyGoesHere,
    "blocked-uri":"about",
    "status-code":0
  }
}

Почему я должен получить нарушение CSP для заблокированного uri «о»?

Это встроенный about: URL из веб-браузеров? Я не могу воспроизвести проблему, когда пытаюсь.


person mikemaccana    schedule 01.09.2015    source источник
comment
Я также вижу это у одного конкретного пользователя в системе с 30-50 разными пользователями. Я тоже не могу понять, почему срабатывает нарушение CSP, но у конкретного пользователя довольно старая версия Chrome (38) в OS X 10.6, так что это может быть одной из причин; в качестве альтернативы, это может быть расширение для браузера, но нам еще предстоит определить конкретное (они упомянули об использовании Adblock и Disconnect, но могут быть и другие).   -  person Tomi Junnila    schedule 21.02.2016


Ответы (2)


Я работал с пользователем, чтобы выяснить, что это действительно вызвано расширением Disconnect. Я связался с людьми, делающими расширение, и они подтвердили, что блокируют URI, заменив их на about:blank; это то, что вызывает нарушения CSP.

Пока Disconnect не исправит их схему блокировки, я думаю, что лучший подход — просто игнорировать отчеты о нарушениях CSP, когда blocked-uri равно about.

person Tomi Junnila    schedule 22.02.2016
comment
Привет @mikemaccana. Я добавил script-src 'self' about, но это не работает. Должен ли я добавить about:blank? Пожалуйста, предложите - person Roman Marusyk; 17.04.2018
comment
about:blank считается недопустимым источником. Похоже, что uBlock Origin делает то же самое, что и Disconnect: когда он блокирует что-то на веб-странице, он заменяется на about:blank. Я еще не нашел обходного пути для этого. - person Tiffany; 09.07.2018
comment
Думаю, я нашел временный обходной путь (пока не будет исправлено то, что вызывает about:blank на странице): добавление about: к нарушенным директивам. Я попытался добавить его в default-src, но все равно получил отчет о нарушении. Я добавил его в img-src и script-src, и нарушений не обнаружилось. Это может решить вашу проблему, @RomanMarusyk - person Tiffany; 09.07.2018
comment
@Tiffany Вы должны превратить свой комментарий в ответ, я считаю, что это будет лучший ответ, чем объяснение, данное в ответе выше. Я бы, наверное, наградил его наградой (но поторопитесь, срок действия награды истекает через 3 часа!) - person Clément; 14.12.2018
comment
@Clément, приношу свои извинения, только сейчас заметил ваш комментарий. Я добавлю это как ответ. - person Tiffany; 14.12.2018

Я думаю, что, возможно, нашел временное обходное решение (пока не будет исправлено то, что вызывает about:blank на странице): добавление about: к нарушенным директивам. Я попытался добавить его в default-src, но все равно получил отчет о нарушении. Я добавил его в img-src и script-src, и нарушений не обнаружилось.

person Tiffany    schedule 14.12.2018
comment
Это полезно, но также похоже на ошибку браузера. Стоит сообщить об этом как о проблеме в браузере! - person mikemaccana; 17.12.2018
comment
Ваша конкретная ситуация, да, это похоже на ошибку браузера. Но могут быть и другие причины, по которым возникает нарушение about:, и это то, с чем я столкнулся, когда исследовал это. - person Tiffany; 17.12.2018
comment
Нет, я имею в виду вашу конкретную ситуацию: добавление к default.src не влияет на отдельные источники. - person mikemaccana; 17.12.2018