Проверка списка выбора HTML

Я работаю над проектом веб-приложения (на java; это не имеет значения), и у нас есть форма с раскрывающимися списками и полями ввода.

Очевидно, что выпадающие списки предоставляются, потому что мы ожидаем конкретное значение из набора значений.

Итак, мой вопрос: имеет ли смысл гарантировать, что отправленное значение находится в наборе ожидаемых значений? Или допустимо просто предположить, что встречается правильное значение?

Нет никаких «ошибок», которые могли бы возникнуть из-за отправки разных значений, но хранилище данных не будет соответствовать бизнес-правилам / требованиям.

Как пользователь может отправить значение, которого нет в списке вариантов? Вы пытаетесь поймать людей, которые копируют код из View Source, изменяют его и отправляют? И разве хранилище данных не имеет ограничения внешнего ключа для таблицы, содержащей допустимые значения?

DOK 17.10.2008 20:31
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
2
1
480
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Вы определенно должен проверяете, что отправленное значение находится в наборе ожидаемых значений. Это банальный, чтобы использовать firebug для отправки всего, что вы хотите, в раскрывающемся списке.

Ответ принят как подходящий

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

Поэтому обязательно, чтобы все данные проверялись на стороне сервера.

Хакеры не используют вашу форму. Они создают данные произвольной формы и отправляют их другими способами. Фактически, хакер даже не знает, что делает ваш сайт - их сканер просто бродил по вашему сайту и отправлял случайные данные.

Я использую обширную проверку на стороне клиента (валидаторы C#) и проверяю каждое поле в своих формах. Таким образом, когда пользователь использует мои формы, когда они наконец попадают на сервер, данные должны быть в порядке.

Но мы все равно получаем неверные данные! Это хакер, исследующий сайт своими собственными инструментами.

Не то чтобы мы были хорошей целью - у нас нет финансовых отчетов, доступных в сети, и что? если вы можете пользоваться нашим сайтом бесплатно. Проблема в том, что хакеры этого не знают и все равно исследуют.

Другие вопросы по теме