#security #web #browser #content-security-policy
#Безопасность #веб #браузер #политика безопасности контента
Вопрос:
Я пытаюсь внедрить hCaptcha на веб-сайт, но он не принимает политику безопасности контента, которую я установил в заголовке meta или установив заголовок непосредственно в Chrome и FireFox.
<meta http-equiv="Content-Security-Policy" content="script-src 'self' 'unsafe-eval' 'unsafe-inline' https://hcaptcha.com https://*.hcaptcha.com; frame-src 'self' https://hcaptcha.com https://*.hcaptcha.com; style-src 'self' 'unsafe-inline' https://hcaptcha.com https://*.hcaptcha.com" />
Более читаемый формат:
script-src 'self' 'unsafe-eval' 'unsafe-inline' https://hcaptcha.com https://*.hcaptcha.com;
frame-src 'self' https://hcaptcha.com https://*.hcaptcha.com;
style-src 'self' 'unsafe-inline' https://hcaptcha.com https://*.hcaptcha.com
Это та же строка для заголовка (с использованием Go). Сейчас я просто пытаюсь заставить мета-тег работать. Это ошибка, которую я получаю в Chrome:
И в FireFox:
Что я делаю не так? Я думаю, что это началось с последнего обновления Chrome и FireFox и работало раньше?
Ответ №1:
Решаемая проблема путем настройки и использования другого имени хоста. Добавить localhost.com перейдите в /etc/hosts и получите доступ к своей странице на localhost.com:port.
Комментарии:
1. О, вы отлаживали PCaptcha на localhost? hCAPTCHA запрещает
localhost
и127.0.0.1
: docs.hcaptcha.com/#localdev . И, пожалуйста, обратите внимание, CSP с этой страницы docs.hcaptcha.com/#cspsettings это неправильно.2. Да, я пытался. Это работает, если вы добавляете пользовательское имя хоста в /etc/hosts, и это нормально для меня. Настройки CPS не требуются.