Как правильно убедиться, что пользователь не вмешивается в значения строки запроса или значения URL действия? Например, у вас может быть действие Delete Comment на вашем CommentController, которое принимает CommentID. URL действия может выглядеть так: / Комментарии / Удалить / 3, чтобы удалить комментарий с идентификатором 3.
Теперь очевидно, что вы не хотите, чтобы кто-либо мог удалить комментарий. 3. Обычно владелец комментария или администратор имеет разрешение на это. Я видел, как эта защита применяется по-разному, и хотел бы знать, как это делают некоторые из вас.
Делаете ли вы несколько вызовов базы данных, чтобы получить комментарий и убедиться, что автор комментария соответствует пользователю, вызывающему действие удаления?
Вместо этого вы передаете CommentID и UserID хранимой процедуре, которая выполняет удаление, и делает Delete, где UserID и CommentID равны переданным значениям?
Лучше ли шифровать значения строки запроса?