Disqus работает только при сбое скриптов - PullRequest
0 голосов
/ 23 декабря 2018

Я боролся с периодически возникающей проблемой Disqus на странице блога.Проблему было трудно определить, поскольку она будет работать спорадически.

Удалось определить причину проблемы:

  1. Если следующие скрипты не загружаются из-за политики безопасности содержимоготогда все работает нормально и iframe показывает.

Console errors on disqus load

Добавление домена в список авторизованных доменов на Disqus позволяет добиться следующего прогресса, и проблема теперь менее распространена, однако она по-прежнему не идеальна, обновление страницы предотвратит загрузку iframe, обновится снова, и оно появится !!

Console errors after adding auth domain

Если у кого-нибудь есть какие-либо идеи, как я могу заставить эту работу работать должным образом, это было бы очень признательно.

1 Ответ

0 голосов
/ 24 декабря 2018

Судя по всему, в вашем списке исключений CSP отсутствуют некоторые директивы.Я бы предложил следующее:

  1. Используйте такие инструменты, как report-uri , чтобы сообщать о нарушениях CSP в вашем домене.Report-URI спасает жизнь, я говорю по своему опыту.

  2. Если вы впервые применяете политику CSP в своем приложении, тогда начните с CSP-Только отчет .

Заголовок ответа HTTP Content-Security-Policy-Report-Only позволяет веб-разработчикам экспериментировать с политиками, отслеживая (но не применяя) их эффекты.Эти отчеты о нарушениях состоят из документов JSON, отправленных с помощью HTTP-запроса POST на указанный URI.

Это важно, поскольку вы не можете вручную проверить все нарушения.Лучше определить все нарушения за определенный период времени и сделать политику CSP более строгой.

Если у вас есть уверенность в своей политике CSP, вы можете создать политику CSP с большей уверенностью.Тем не менее, убедитесь, что вы все еще сообщаете о нарушениях в report-uri или в свою регистрацию.

Многие из этих вещей являются методом проб и ошибок, так как вы не знаете, каким сценариям доверяете " "Используются сторонние библиотеки.Вы также не можете контролировать, если их код / ​​реализация меняются под капотом.Следовательно, мониторинг помогает вам постоянно определять нарушение и предпринимать соответствующие действия.

...