У меня всегда есть проблема и я не могу понять, как ее решить.asp.net mvc скрытое поле id issue
Например, в сценарии ASP.NET MVC, пользователь "A" имеет свои продукты:
A1(id=1),A2(id=2).
Если мы редактируем для A1, в Edit.cshtml, A1 в Id = 1 только сохраняются в скрытое поле. Мы можем модифицировать идентификатор A1 до 2 с помощью инструмента разработчика браузера, поэтому измененные значения будут сделаны для A2, когда будут отправляться обратно на сервер, хотя мы выполняем проверку на стороне сервера. Но пользователь A имеет достаточно прав на модификацию всех своих продуктов A1 A2. Итак, в этом случае, как запретить пользователям взломать? Я думаю, что также показывать идентификатор продукта в URL-адресе; то пользователь не может изменять его при обновлении.
Я новичок в MVC - может быть, у вас есть идея или что такое общий метод для решения этой проблемы?
Если вы действительно беспокоитесь об использовании взлома собственных продуктов (не знаете почему), то [эта статья] (http://blog.slatner.com/2010/01/20/SecuringFormValuesInASPNETMVC.aspx) обсуждает один технический вопрос –
Просто убедитесь, что у вас есть хорошее разрешение на месте. Возможно, перед редактированием проверьте, разрешено ли им редактировать, прежде чем двигаться вперед. Также я предпочитаю использовать GUID (не так просто для прогнозирования пользователем) для таких вещей вместо целых чисел. – dansasu11