Я читал на сайте обучения asp.net mvc об JavaScript-инъекции, и человек это открывает глаза.
Я даже не подозревал / не думал о том, чтобы кто-то использовал JavaScript для выполнения каких-то странных атак с использованием инъекций.
Однако у меня остались некоторые вопросы без ответа.
Первый
Когда вы используете html.encode? Например, вы используете его только тогда, когда собираетесь отображать информацию, предоставленную этим пользователем или другим пользователем?
Или я использую это для всего. Например, если у меня есть форма, которую отправляет пользователь, эта информация никогда не будет отображаться никому из пользователей, должен ли я по-прежнему использовать html.encode?
Как бы мне это сделать, если я не уверен, как вставить внутрь скажем и Html.TextBox () тег html.encode.
Второй
Что произойдет, скажем, у меня на сайте богатый редактор HTML. Пользователь может использовать его и делать вещи смелыми и все такое. Теперь я хочу отображать информацию обратно пользователю через ярлык. Я не могу Html. Закодировать его с тех пор все жирный шрифт и прочее не будет отображаться.
И все же я не могу оставить все так, как есть, поскольку что помешает пользователю добавить некоторые атаки Javascript?
Так что я буду делать? Использовать регулярные выражения для фильтрации всех тегов?
Третий
Существует также еще один тег, который вы можете использовать, называемый «AntiforgeryToken», когда бы вы использовали этот тег?
Спасибо
Редактировать
Почти все говорят, что используют "Белый список" и "Черный список", как мне написать этот список и сравнить его с входящими значениями (примеры в C # были бы хорошими)?