Политика безопасности контента (CSP или Content Security Policy) может значительно снизить риск и влияние XSS-атак в браузерах. Она определяет заголовок HTTP, который позволяет создавать белый список источников доверенного контента, и инструктирует браузер выполнять или отображать ресурсы только из этих источников.
Соответственно, если в консоли на вашем сайте появляется следующая ошибка:
Она будет означать, что вместо загрузки скрипта из этого источника, скрипт был заблокирован браузером.
Больше информации по этой ошибке можно узнать в этой статье.
Пример ошибки, которую вы можете получить при использовании нашего сервиса:
Refused to connect to 'wss://realtime-services.carrotquest.io/websocket/...' because it violates the following Content Security Policy directive: "default-src https:". Note that 'connect-src' was not explicitly set, so 'default-src' is used as a fallback
Она означает, что в настройках Content Security Policy не разрешен протокол wss
, необходимый для работы чата.
Если на вашем сайте настроен CSP (Content Security Policy), то для работы нашего сервиса вам необходимо дополнить политику следующим образом:
script-src https://*.carrotquest.app https://*.carrotquest.io 'unsafe-inline' 'unsafe-eval'; style-src https://*.carrotquest.app https://*.carrotquest.io 'unsafe-inline'; img-src https://*.carrotquest.app https://*.carrotquest.io; font-src https://*.carrotquest.app https://*.carrotquest.io; connect-src https://*.carrotquest.app https://*.carrotquest.io https://*.carrottrack.app wss://*.carrotquest.app wss://*.carrotquest.io; media-src https://*.carrotquest.app https://*.carrotquest.io;
Если у вас настроена интеграция с Calendly, то для её работы необходимо дополнить вашу политику следующим образом:
script-src https://assets.calendly.com; style-src https://assets.calendly.com; frame-src https://calendly.com;
После выполнения рекомендаций выше ошибка пропадёт и всё будет работать корректно.