Что делать с объектами поиска, выбранными из выпадающего списка? Как отправить их на сервисный уровень - PullRequest
0 голосов
/ 22 апреля 2010

Я разрабатываю приложение на основе Spring MVC. У меня есть простой объект формы pojo, проблема в том, что многие свойства будут взяты из выпадающих списков, которые заполнены поисковыми объектами, поэтому я возвращаю идентификатор объекта в объект формы.

public NewCarRequestForm {

   private makeId;  // this are selected from a drop down.
   private modelId;
}

Должен ли я просто отправить этот идентификатор объекта поиска на сервисный уровень? или я должен подтвердить, что этот идентификатор правильный (кто-то может отправить любой случайный идентификатор через запрос) раньше и как?

Теперь возникает проблема, если я хочу проверить что-либо на основе какого-либо свойства объекта поиска. Я выполняю поиск в базе данных объекта только для проверки?

спасибо.

1 Ответ

0 голосов
/ 03 ноября 2010

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

С другой стороны, если кто-то подделывает запрос и дает какой-то случайный / недействительный идентификатор, ваш код просто не будет сбой, потому что этот идентификатор отсутствует в вашем постоянном хранилище (БД)?

Если вы обеспокоены тем, что кто-то может сделать запрос, который может обойти проверки пользовательского интерфейса и который может нанести вред вашей системе или данным, тогда да всеми средствами вам следует повторить проверки на сервере, даже если вам нужно сделать запросы к БД.

Обычно проверки на стороне клиента не являются обязательными. Проверки на стороне сервера. Проверки на стороне клиента - это просто оптимизация, поскольку они не требуют обращения к серверу, но на самом деле они не защищают вас от чего-либо.

...