Asp.net mvc 在MVC中,如何验证提交表单隐藏字段的可靠性?
在mvc中,当提交给控制器时,如何验证用户没有恶意更改只读隐藏表单字段?我可以想到两个选项:Asp.net mvc 在MVC中,如何验证提交表单隐藏字段的可靠性?,asp.net-mvc,form-fields,sensitive-data,Asp.net Mvc,Form Fields,Sensitive Data,在mvc中,当提交给控制器时,如何验证用户没有恶意更改只读隐藏表单字段?我可以想到两个选项: 在显示字段时对其进行加密,然后解密服务器端并使用值 不要将敏感信息存储在隐藏字段中,而是将其存储在会话中(推荐) 显示表单字段时,呈现一个隐藏字段,其中包含显示值的哈希 接收post请求时,再次对接收到的数据进行散列,并将此散列与隐藏字段的值进行比较。tnks。会议被考虑并取消资格,因为它揭示了另一种数据中断威胁。例如,如果一次使用多个浏览器,您能解释一下一次使用多个浏览器是什么意思吗?如果您一次使用多
显示表单字段时,呈现一个隐藏字段,其中包含显示值的哈希
接收post请求时,再次对接收到的数据进行散列,并将此散列与隐藏字段的值进行比较。tnks。会议被考虑并取消资格,因为它揭示了另一种数据中断威胁。例如,如果一次使用多个浏览器,您能解释一下一次使用多个浏览器是什么意思吗?如果您一次使用多个浏览器,您仍然可以在会话中存储内容。我当然可以。我所说的不止一个,是指通过另一个选项卡,甚至是一个新的浏览器窗口。考虑下面的场景:为了构造一个具有大量信息的实体,我需要执行一系列提交的表单。每次从控制器返回视图时,我都需要传递一些关于尚未建立的实体的id。如果您使用多个浏览器选项卡,它们都会通过相同的会话…当然,我说的“如果您使用多个浏览器选项卡”,是指两个不同的实体…正如更多人所建议的,我意识到这可能是正确的做法。。你能链接到一些关于这个系统的信息吗?试试这个