Наша компания планировала использовать Knockoutjs, но я нашел эту ссылку, обсуждая проблемы безопасности в KnockoutJS. Они говорят, что люди могут легко вводить вредоносный код в атрибут привязки данных.
Например:
<script src="http://knockoutjs.com/downloads/knockout-2.3.0.js"></script>
<div data-bind="x:alert(1)" />
<script>
ko.applyBindings();
</script>
У меня нет очень хорошего понимания об атаках XSS, и я не знаю, сколько способов люди могут вводить вредоносный код на веб-сайт.
-
Может ли кто-нибудь сказать мне, когда страница будет отображаться на клиентском ПК, а затем, как люди могут ввести этот
<div data-bind="x:alert(1)" />
только для того, чтобы заставить его работать? Может ли кто-нибудь сказать мне, как хакеры могут вводить это на страницу, открытую в браузере? -
Может ли кто-нибудь сказать мне, какие другие проблемы безопасности существуют для knockoutjs?
Если это не очень безопасно, я не буду использовать его.
Я также получил ссылки, немного обсуждая, как лучше защитить нокауты:
- http://brianmhunt.github.io/articles/knockout-plus-content-security-policy/
- https://github.com/brianmhunt/knockout-secure-binding
Кто-нибудь знает, как получить полностью защищенные нокауты? Потому что я видел учебник для KnockoutJS и чувствовал, что кривая обучения невелика.