Кодировка HTML для Textbox в asp.net для безопасности - PullRequest
0 голосов
/ 04 июля 2018

У меня есть 2 поля: метка и текстовое поле.

Q1. Кодирование HTML должно выполняться при сохранении данных в базе данных или при отображении на странице aspx?

Q2. HTML-кодированный текст метки отображается правильно в браузере как asd

Поскольку текстовые поля в asp.net уже закодированы по умолчанию, следует ли декодировать их перед отображением на странице?

Q3.If Значение Textbox декодируется при отображении того, что влияет на безопасность?

Q4. Если у меня есть двухстороннее связанное текстовое поле в edittemplateitem.how, чтобы декодировать его значение при отображении.

1 Ответ

0 голосов
/ 04 июля 2018

Выход должен быть выполнен как можно позже и для данной целевой системы, в отличие от проверки, которая должна быть сделана как можно скорее. Применительно к вашим вопросам это будет означать:

Q1: ввод не должен быть экранирован (кодировка HTML) при вставке в базу данных, вместо этого сохраняйте исходный текст. Только при отображении текста в форме HTML, экранирование должно быть сделано. Чтобы смягчить SQL-инъекцию, используйте подготовленные операторы или экранирование для SQL, а не для HTML.

Q2: Поскольку мы не избежали преждевременного выхода из текста, ASP может выполнить экранирование исходного текста, и коды ascii не появятся.

Q3: декодирование не требуется, поскольку у нас все еще есть исходный текст.

В4: Насколько мне известно, ASP должен справиться с этим за вас, ваше приложение должно работать только с исходным текстом и может оставить HTML выходящим за рамки.

...