2017-02-14 13 views
0

Мое веб-приложение (часть JS) должно быть настроено сервером перед загрузкой. Сейчас это делается следующим образом:Сделать встроенный объект конфигурации JS CSP-совместимый (CSP Level 1)

<script> 
var configObj = { 
setting1: "blah", 
setting2: {val1: 1, val2:2}, 
}; 
</script> 
<script src="myapp.js"> 

Config является запросом конкретного и встраиваемый сервером, когда HTML ответ построен. Это хорошо работает, но оно нарушает правила политики безопасности для контента unsafe-inline.

К сожалению, мы не можем просто полагаться на CSP Level 2 (хеши/ноты), мы застряли на уровне 1 на данный момент. Есть ли рекомендованный способ настройки клиентского приложения с помощью CSP?

До сих пор я думаю о том, чтобы вложить его в какой-то элемент DOM в виде строки, а затем JSON.parsing. Есть ли другие (лучшие) варианты?

ответ

1
  • Вы можете переместить все параметры конфигурации в атрибуты data- *, а затем прочитать их в сценарии.
  • Если вас беспокоит совместимость несеев, вы можете найти this article интересным.
+0

Благодарим вас за ссылку на статью, это очень хорошо! – vmg