Я везде читаю, что я должен использовать [Bind (Exclude = "ID")] при создании форм, которые позволят модифицировать мою модель.
Я понимаю, почему и как это должно помочь ... но я не понимаю, почему это даже работает.
При создании представления редактирования с использованием встроенных шаблонов MVC ... он по-прежнему использует Html-Hidden для хранения переменной ID. Во время публикации мне нужно использовать переменную ID, чтобы узнать, какую запись базы данных необходимо обновить.
Но я не могу доверять переменной ID, так как она может быть взломана во время публикации.
Итак, я использую Bind-exclude для идентификатора. Кроме того, я не могу доверять скрытой переменной ... так как мой POST должен передавать идентификатор, запись которого редактируется в форме?
Единственное решение, о котором я могу подумать ... - это использовать переменную Session, которая отслеживает (на стороне сервера), что редактируется запись.
Почему люди не боятся этого? Есть ли что-то еще, что MVC делает во время привязки, чтобы убедиться, что идентификатор не был изменен?
Может кто-нибудь объяснить, что я не понимаю в безопасности MVC?