Django-csp -- Почему я получаю ошибку нарушения CSP, даже если установлен nonce?

Я получаю ошибку в моем браузере как

Отказано в выполнении inline-сценария, поскольку он нарушает следующую директиву политики безопасности содержимого: "script-src-elem 'self' 'self' https://cdn.jsdelivr.net/". Для разрешения выполнения inline требуется либо ключевое слово 'unsafe-inline', либо хэш ('sha256-lcRjLlr3aCdbAn5uZatA01Jri58xjpKG86fd61W4h9Y='), либо nonce ('nonce-...').

Я использую django-csp для настройки политики безопасности содержимого. В моем settings.py я включил следующее.

MIDDLEWARE = [
    # added middleware
    'csp.middleware.CSPMiddleware',
    ...
]

CSP_DEFAULT_SRC = ["'self'", ]
CSP_INCLUDE_NONCE_IN = ['script-src']

Я записал JavaScript как -

<script nonce="{{ request.csp_nonce }}">
    do_something()
</script>

Пожалуйста, помогите мне решить эту проблему.

Вы включили только script-src, но не script-src-elem

settings.py будет:

CSP_INCLUDE_NONCE_IN = [
    'script-src',
    'script-src-elem'
]
Вернуться на верх