asp.net дезинфицирует ввод пользователя
-
05-07-2019 - |
Вопрос
Есть ли в asp.net встроенный механизм, который может дезинфицировать весь ввод текстового поля вместо перенаправления на страницу с ошибкой?
У меня есть текстовое поле ввода, где пользователь может ввести имя, но если он попытается ввести и < > теги на странице автоматически выдает ошибку. Я просто хочу обработать эту ошибку удобным для пользователя способом.
Решение
Вы можете использовать ASP.NET элемент управления RegularExpressionValidator с шаблон как: ^[^<>]*$
<asp:RegularExpressionValidator ID="rev" runat="server"
ControlToValidate="txtBox"
ErrorMessage="The <> tags are not allowed!"
ValidationExpression="[^<>]*" />
<asp:RequiredFieldValidator ID="rfv" runat="server" ControlToValidate="txtBox"
ErrorMessage="Value can't be empty" />
RequiredFieldValidator используется в сочетании с RegularExpressionValidator для предотвращения пустые записи. Если это текстовое поле является необязательным и требует проверки только при вводе чего-либо, вам не нужно использовать RequiredFieldValidator.
Преимущество такого способа состоит в том, что ошибка может быть обработана изящно, а пользователь может быть уведомлен на той же странице.
Однако, если вам нужно сделать это для многих текстовых полей и вы просто хотите представить что-то более приятное, чем страница с ошибкой, вы можете обработать ошибку ValidateRequest, чтобы предоставить более дружеское сообщение и сохранить пользователя на той же странице (а не просто заменить это с пользовательской страницей ошибок). Для получения дополнительной информации ознакомьтесь с публикацией Кирка Эванса: Обработка ошибок ValidateRequest на странице (см. раздел «Переопределение метода OnError»).
Другие советы
Вы можете обратиться к библиотеке AntiXSS для поиска тот. Это dll, поэтому его легко зайти и начать его использовать.
Загрузить можно по адресу CodePlex .
Прочтите это пошагово: http://yourtahir.wordpress.com/2008/03/28/aspnet-not-allow-html- в тексте-boxserver ошибки-в-приложениях-а-potentialy-опасное-requestform-значение-был-обнаружено / р>
Вам нужно поработать над web.config.
ASP.net имеет элементы проверки
[ http://msdn.microsoft.com/ ан-нас / библиотека / 7kh55542.aspx] [1]
Также есть редактор Mark Down , который представляет собой элемент управления, удаляющий теги html и т. д.