Советы по потенциально опасному запросу. Форма с умлаутами
Политика безопасности моей компании требует, чтобы я не мог отключить ValidateRequest
атрибут для нашего веб-сайта формы.
Я получаю сообщения об ошибках с сайта для потенциально опасных Request.Form
вход.
Из всех ошибок я вижу, что опасность определяется иностранными символами (например, немецкими, норвежскими символами с умлаутами) в полях адреса.
Я немного сбит с толку относительно того, как эти символы даже становятся закодированными в формате html, потому что опасная комбинация символов похожа на å
какой ö
персонаж.
От клиента было обнаружено потенциально опасное значение Request.Form (ctl00$ContentPlaceHolder1$tbxDeliveryAddress="...last As B & #229;smosjyen 4 Mo...")
Очевидно, что это не вредоносно, и мне нужно разрешить клиентам вводить свои адреса, включая умлауты. Я задавался вопросом, возможно ли, что клиент неосознанно делает это путем копирования и вставки, поэтому я организовал эксперимент с двумя метками и текстовым полем, одна метка закодировала некоторый текст с умлаутом в нем, а другая метка просто напечатала умлаут (я проверил источник html на отображаемой странице, и это было так). Затем я скопировал и вставил каждый ярлык по очереди в текстовое поле и отправил форму, но ни один не ошибся.
Так что я не понимаю, как этот вклад поступает от клиента. Мне трудно поверить, что они будут печатать физически å
в текстовое поле при вводе их адреса. Поскольку я действительно не знаю, как работают иностранные клавиатуры, кто-нибудь может пролить свет на это?
Как я могу остановить этот не вредоносный текст, перехваченный этой функцией в.net, не отключая ValidateRequest
атрибут? Это действительно боль для клиентов, пытающихся невинно ввести свои адреса доставки.
РЕДАКТИРОВАТЬ
В сообщении об ошибке я заметил, что текст на самом деле исходит из многострочного текстового поля, которое генерирует элемент управления textarea html. Интересно, если этот конкретный элемент управления отображает содержимое с HTML-кодированным текстом? Я говорю это потому, что конечный пользователь не может редактировать непосредственно в этом поле, оно заполняется автоматически, с модальным всплывающим окном для редактирования адреса в отдельных строках. Кодирует ли многострочное текстовое поле HTML автоматически его содержимое?