В моем приложении у меня есть некоторые серверные переменные:
{{# serverVars }}
<script>
window.serverVars = {{{ . }}};
</script>
{{/ serverVars }}
Это используется для установки, например, window.serverVars.countryCode
в код страны, как определено сервером с использованием геоIP.
Сейчас в CSP это считается unsafe-inline
что вообще плохо. Итак, каков наилучший подход:
- Использовать одноразовый номер сложно: одноразовый номер уникален для каждого запроса, и большинство библиотек CSP (например, Helmet) считают политики CSP статическими.
- Использование хеша затруднено: значение serverVars уникально для каждого запроса, и большинство библиотек CSP (например, Helmet) считаются CSP. политики статичны
unsafe-inline
дляscript-src
считается небезопасным
Как лучше всего добавить динамические серверные переменные в клиентский JavaScript с помощью CSP?