Я работаю над некоторыми одностраничными приложениями, написанными на JavaScript, которые в настоящее время используют lodash. Я хотел бы предотвратить межсайтовый скриптинг (XSS) с использованием стандартной библиотеки следующим образом:
1) Избегание всего ненадежного контента
2) Кодирование вывода в зависимости от его назначения CSS, HTML, HTMLAttribute JavaScript, JSON и т. д.
Я видел несколько ответов на переполнение стека, но они не предоставляют полного решения для канонизации/кодирования в стандартной библиотеке, которую я могу написать статический тест, чтобы убедиться, что разработчики используют библиотеку.
Есть ли esapi или аналогичная «легкая» библиотека, которую я могу использовать только для JavaScript?
Я видел OWASP Esapi и подключаемый модуль jQuery Encoder https://github.com/chrisisbeef/jquery-encoder и кодировщик SalesForce https://github.com/salesforce/secure-filters
На данный момент меня интересует только канонизация ввода и кодирование вывода. Я также ищу что-то актуальное, хорошо поддерживаемое и в идеале не зависящее от других библиотек.
Может ли кто-нибудь предложить лучший подход к использованию?