Описание проблемы:
Когда я пытаюсь загрузить страницу, на которой интегрирован Stripe.js, я получаю следующее ошибка в консоли:
Код: Выделить всё
Refused to create a worker from 'blob:https://m.stripe.network/9ebe38a1-64c4-425e-835f-e4af76e27553' because it violates the following Content Security Policy directive: "script-src https://m.stripe.network 'sha256-/5Guo2nzv5n/w6ukZpOBZOtTJBJPSkJ6mhHpnBgm3Ls='". Note that 'worker-src' was not explicitly set, so 'script-src' is used as a fallback.
Что я уже пробовал:
Я обновил политику CSP в своем HTML-код, особенно в файле worker-src директива, чтобы разрешить URL-адреса blob:. Вот версия CSP, которую я использую:
Код: Выделить всё
Это как мой код выглядит на данный момент:
Код: Выделить всё
Stripe Integration - Proof of Concept
Label
const stripe = Stripe('pk_test_---');
Сообщение об ошибке предполагает, что проблема связана с отсутствием надлежащего CSP. директива, позволяющая создавать веб-воркеры из URL-адресов blob:.
Что я пробовал:
- Добавлен большой объект: в worker-src в CSP.
- Попробовал разрешить * для всех источников в CSP (например, script-src *).
Я читал о том, что URL-адреса blob: должны быть явно разрешены в CSP, и я выполнил предложения из официальной документации, но ошибка не устранена.
Буду признателен за любую информацию о том, не пропустил ли я какие-либо шаги или есть ли более эффективный способ разрешить большие двоичные объекты: Веб-воркеры в контенте политику безопасности безопасным способом.
Кто-нибудь сталкивался с этой проблемой раньше или кто-нибудь знает, как ее решить?
Заранее спасибо за любая помощь.
Дополнительно подробности:
- Версия Stripe.js: я использую последнюю версию Stripe.js.
- Среда: локальная разработка с использованием HTTP-сервера по адресу 127.0.0.1:5500
Подробнее здесь: https://stackoverflow.com/questions/791 ... to-missing