asp.net-mvc – 比ASP.NET MVC中的隐藏表单字段更安全吗?

在ASP.NET MVC(默认路由)中,我想使用这样一个URL来返回带有表单的视图来编辑客户:
/Customers/Edit/5

我需要使用CustomerId = 5,但我不想允许客户更改它。现在我使用以下命令隐藏id:

<%= Html.Hidden("CustomerId") %>

这完成了我想要的,但我的印象是隐藏的表单变量不安全,可以由最终用户操纵。

那么,允许客户编辑他们的信息而不是他们的ID的最佳方法是什么?

解决方法

在显示相应视图之前,请检查控制器操作(/ Customers / Edit)中的权限。请注意,这里的问题根本不在于隐藏的字段:用户可以在浏览器中输入“ http://yoursite.com/Customers/Edit/10”。所以你必须检查你的动作,无论用户是否真的被允许编辑请求的客户的细节,无论他如何调用这个动作。

相关文章

引言 本文从Linux小白的视角, 在CentOS 7.x服务器上搭建一个...
引言: 多线程编程/异步编程非常复杂,有很多概念和工具需要...
一. 宏观概念 ASP.NET Core Middleware是在应用程序处理管道...
背景 在.Net和C#中运行异步代码相当简单,因为我们有时候需要...
HTTP基本认证 在HTTP中,HTTP基本认证(Basic Authenticatio...
1.Linq 执行多列排序 OrderBy的意义是按照指定顺序排序,连续...