Ответ 1
"Защита нокаута" - это не то, как вы предотвращаете XSS.
Вы должны управлять своим XSS-экспонатом в первую очередь, независимо от того, как вы привязываете данные к элементам вашего приложения и которые начинаются с защиты вашей страницы, которая в первую очередь привязана к нокауту:
-
Подтвердите ввод, который повлияет на возврат этой конкретной веб-страницы Элемент списка
-
Не разрешать пользователям выводить html-выход, предоставляемый пользователями без сначала дезинфицируя его
-
Не позволяйте не доверенным третьим сторонам доставлять script ссылки или ссылки с третьих сторон, которые вы не доверие.
Полный список способов предотвращения XSS находится здесь:
https://www.owasp.org/index.php/XSS_%28Cross_Site_Scripting%29_Prevention_Cheat_Sheet
https://www.owasp.org/index.php/DOM_based_XSS_Prevention_Cheat_Sheet
Вы заметите, что "не использовать нокаут" не входит ни в один из этих списков, и что большинство проблем связаны с управлением пользовательским вводом и тем, как оно заканчивается в коде script. То же самое можно сказать и о том, как пользовательский ввод заканчивается в вашей привязке к нокауту.
Управление вашей нокаут-экспозицией с помощью защищенного механизма привязки, с которым вы связаны выше, уменьшит вашу потенциальную площадь атаки.
Но если у вас есть вредоносная часть html, возвращенная вашим сервером или связанная на вашей странице, независимо от того, есть ли у вас нокаут или нет, у вас проблема с XSS.