Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 在MVC中,如何验证提交表单隐藏字段的可靠性?_Asp.net Mvc_Form Fields_Sensitive Data - Fatal编程技术网

Asp.net mvc 在MVC中,如何验证提交表单隐藏字段的可靠性?

Asp.net mvc 在MVC中,如何验证提交表单隐藏字段的可靠性?,asp.net-mvc,form-fields,sensitive-data,Asp.net Mvc,Form Fields,Sensitive Data,在mvc中,当提交给控制器时,如何验证用户没有恶意更改只读隐藏表单字段?我可以想到两个选项: 在显示字段时对其进行加密,然后解密服务器端并使用值 不要将敏感信息存储在隐藏字段中,而是将其存储在会话中(推荐) 显示表单字段时,呈现一个隐藏字段,其中包含显示值的哈希 接收post请求时,再次对接收到的数据进行散列,并将此散列与隐藏字段的值进行比较。tnks。会议被考虑并取消资格,因为它揭示了另一种数据中断威胁。例如,如果一次使用多个浏览器,您能解释一下一次使用多个浏览器是什么意思吗?如果您一次使用多

在mvc中,当提交给控制器时,如何验证用户没有恶意更改只读隐藏表单字段?

我可以想到两个选项:

  • 在显示字段时对其进行加密,然后解密服务器端并使用值
  • 不要将敏感信息存储在隐藏字段中,而是将其存储在会话中(推荐)

  • 显示表单字段时,呈现一个隐藏字段,其中包含显示值的哈希


    接收post请求时,再次对接收到的数据进行散列,并将此散列与隐藏字段的值进行比较。

    tnks。会议被考虑并取消资格,因为它揭示了另一种数据中断威胁。例如,如果一次使用多个浏览器,您能解释一下一次使用多个浏览器是什么意思吗?如果您一次使用多个浏览器,您仍然可以在会话中存储内容。我当然可以。我所说的不止一个,是指通过另一个选项卡,甚至是一个新的浏览器窗口。考虑下面的场景:为了构造一个具有大量信息的实体,我需要执行一系列提交的表单。每次从控制器返回视图时,我都需要传递一些关于尚未建立的实体的id。如果您使用多个浏览器选项卡,它们都会通过相同的会话…当然,我说的“如果您使用多个浏览器选项卡”,是指两个不同的实体…正如更多人所建议的,我意识到这可能是正确的做法。。你能链接到一些关于这个系统的信息吗?试试这个