Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.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 如何为对象提供安全性';编辑对象时MVC4中的ID?_Asp.net_Asp.net Mvc_Validation_Post - Fatal编程技术网

Asp.net 如何为对象提供安全性';编辑对象时MVC4中的ID?

Asp.net 如何为对象提供安全性';编辑对象时MVC4中的ID?,asp.net,asp.net-mvc,validation,post,Asp.net,Asp.net Mvc,Validation,Post,在站点中,当用户编辑自己的信息时,我会隐藏他的ID。但是,我在这个链接中看到它是充满风险的:。 第二种方法,我认为是在cookie中保存当前登录用户的ID。任何人都可以更改cookie中的ID值并编辑其他用户的信息吗 如果是,您可以建议我采用哪种方式?您每次都必须使用身份验证机制。如果您已经正确地实现了它,并且总是从那里检索用户ID而不是发布的表单值,那么您就不必担心它 大多数网站都使用ASP.NET MVC项目模板,一些ASP.NET MVC项目模板带有现成的实现。如果您不需要自定义实现,那么

在站点中,当用户编辑自己的信息时,我会隐藏他的ID。但是,我在这个链接中看到它是充满风险的:。 第二种方法,我认为是在cookie中保存当前登录用户的ID。任何人都可以更改cookie中的ID值并编辑其他用户的信息吗


如果是,您可以建议我采用哪种方式?

您每次都必须使用身份验证机制。如果您已经正确地实现了它,并且总是从那里检索用户ID而不是发布的表单值,那么您就不必担心它


大多数网站都使用ASP.NET MVC项目模板,一些ASP.NET MVC项目模板带有现成的实现。如果您不需要自定义实现,那么使用它们更安全。

每次都必须使用您的身份验证机制。如果您已经正确地实现了它,并且总是从那里检索用户ID而不是发布的表单值,那么您就不必担心它


大多数网站都使用ASP.NET MVC项目模板,一些ASP.NET MVC项目模板带有现成的实现。如果您不需要自定义实现,使用它们会更安全。

规则1:永远不要相信任何用户输入,所以一定要在服务器端签入。如果要保存数据,请使用会话对象规则#1:绝不信任任何用户输入,所以一定要在服务器端签入。如果要保存数据,请使用会话对象,我已忽略MVC4的默认成员身份,不使用表单身份验证。我将用户名和加密密码保存在cookie中,然后你必须确保你的实现是健壮和安全的。如何加密这些值?你的钥匙有多安全?如果你对自己正在做的事情不确定,那就有很大的风险。您不使用现有的、经验证的实现的原因是什么?我使用哈希盐加密密码。我在用户表中添加了额外的属性并合并了2个DB上下文,用户表也在我的DB上下文中,这就是为什么我忽略了MVC4的默认Web安全性。我认为成员资格提供程序可以处理向用户表中添加额外列的问题。无论如何,如果您假定您的身份验证机制是安全的,并且每次都从中获取用户ID,则不必使用表单值,也不必担心有人篡改它。@此外,由于您加密了cookie值,除了您之外,没有人能够取消加密并更改其值。我忽略了MVC4的默认成员身份,并且不使用表单身份验证。我将用户名和加密密码保存在cookie中,然后你必须确保你的实现是健壮和安全的。如何加密这些值?你的钥匙有多安全?如果你对自己正在做的事情不确定,那就有很大的风险。您不使用现有的、经验证的实现的原因是什么?我使用哈希盐加密密码。我在用户表中添加了额外的属性并合并了2个DB上下文,用户表也在我的DB上下文中,这就是为什么我忽略了MVC4的默认Web安全性。我认为成员资格提供程序可以处理向用户表中添加额外列的问题。无论如何,如果您假设您的身份验证机制是安全的,并且每次都从那里获取用户ID,那么您就不必使用表单值,也不必担心有人篡改它。@此外,由于您对cookie值进行了加密,除了您之外,没有人能够对其进行解密并更改其值。