Встроенный скрипт ha sh или nonce не принят CSP - PullRequest
1 голос
/ 07 апреля 2020

Я занимаюсь разработкой Flask приложения, и оно использует Flask -Talisman для включения CSP. Я хотел создать встроенный скрипт в одном из моих шаблонов, и вместо добавления unsafe-inline к массиву script-sr c CSP, который может быть потенциально опасен для атак XSS, я хотел использовать либо ха sh или одноразовый номер, чтобы разрешить сценарий. Я скопировал значение ha sh, указанное в сообщении об ошибке консоли в инструментах разработчика на Opera, и поместил его в мой массив «script-sr c» CSP (в файле init .py. ). Однако CSP по какой-то причине не примет ha sh, и я не знаю, как это исправить. Я также попробовал это с одноразовым номером, и та же самая проблема произошла. Это вывод консоли (я убрал ha sh по соображениям безопасности):

The source list for Content Security Policy directive 'script-src' contains an invalid source: 'sha256-(hash goes here)'. 
It will be ignored.

А вот мой CSP в init .py:

csp = {
    "default-src": [
        "'self'",
        'https://www.youtube.com',
        'https://img.youtube.com'
    ],
    'script-src': [ 'sha256-(hash goes here)',
                    'https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js',
                    'https://code.jquery.com/jquery-3.3.1.slim.min.js',
                    'https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js'],
    'style-src': ["'self'",'https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css']
}
...