Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.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 ASP MVC会话安全风险_Asp.net Mvc_Session_Session Variables_Session Cookies_Sessionid - Fatal编程技术网

Asp.net mvc ASP MVC会话安全风险

Asp.net mvc ASP MVC会话安全风险,asp.net-mvc,session,session-variables,session-cookies,sessionid,Asp.net Mvc,Session,Session Variables,Session Cookies,Sessionid,只是想知道,由于会话id存储在cookie客户端,我可以轻松地修改该cookie并将会话id值更改为另一个用户会话id的值。允许第一个用户从第二个用户获取数据。 若会话被用来存储“登录会话”,那个么一个用户可以像另一个用户一样登录,那个么会话是否容易被“黑客攻击”? 我自己也尝试过,我可以很容易地导航到另一个用户会话,可能这只是因为两个会话来自同一个ip和计算机,但是ASP MVC引擎是否提供了任何安全检查来避免这种情况?您不应该使用会话来存储“登录会话”。.ASPXAUTH cookie用于存

只是想知道,由于会话id存储在cookie客户端,我可以轻松地修改该cookie并将会话id值更改为另一个用户会话id的值。允许第一个用户从第二个用户获取数据。 若会话被用来存储“登录会话”,那个么一个用户可以像另一个用户一样登录,那个么会话是否容易被“黑客攻击”?
我自己也尝试过,我可以很容易地导航到另一个用户会话,可能这只是因为两个会话来自同一个ip和计算机,但是ASP MVC引擎是否提供了任何安全检查来避免这种情况?

您不应该使用会话来存储“登录会话”。.ASPXAUTH cookie用于存储经过身份验证的用户的信息,此cookie使用您设置的或由IIS自动生成的机器密钥进行加密

如果您担心会话劫持(取决于您的应用程序,您应该担心),那么您应该结合使用身份验证cookie(userId)和会话中的信息,以确保值确实匹配

会话和身份验证这两个概念通常是混淆的,但它们不应该混淆。一个向应用程序标识用户并确认用户实际上已经过身份验证(表单Auth Ticket/Cookie),另一个只是在web请求之间存储数据

下面是有关.NET的更多信息


另外,请注意,这与您的问题有些关联-它可能会让您更深入地了解事情的运作方式,并帮助您实现所需目标。

您不应该使用会话来存储“登录会话”。.ASPXAUTH cookie用于存储经过身份验证的用户的信息,此cookie使用您设置的或由IIS自动生成的机器密钥进行加密

如果您担心会话劫持(取决于您的应用程序,您应该担心),那么您应该结合使用身份验证cookie(userId)和会话中的信息,以确保值确实匹配

会话和身份验证这两个概念通常是混淆的,但它们不应该混淆。一个向应用程序标识用户并确认用户实际上已经过身份验证(表单Auth Ticket/Cookie),另一个只是在web请求之间存储数据

下面是有关.NET的更多信息


另外,请注意,这与您的问题有些关联-它可能会提供更多关于事情如何运作的见解,并帮助您实现所需目标。

我知道我应该使用asp mvc提供的AuthCookie,但是,在这个应用程序中,我需要模拟“2个会话”,我需要在同一页面中保留两个单独的用户会话,在某种程度上,他可以登录其中任何一个,并且从其中一个注销不会干扰另一个。因此,我最终使用框架会议来实现这一点。否则我想我应该制作自己的会话cookies?这是一些我不完全理解的奇怪的需求操作。但是,您可以使用加密信息发布自己的cookie,这将使您既安全又能实现您想要的。顺便说一句,一个客户不可能有两次会议,所以…我对这方面的知识有限。但是,对于您最初的问题,不,会话id将仅以纯文本形式存储。最后添加了一点可能有助于您解决的问题我知道我应该使用asp mvc提供的AuthCookie,但是,在这个应用程序中,我需要模拟“2个会话”,我需要在同一页面中保留两个单独的用户会话,在某种程度上,他可以登录其中任何一个,并且从其中一个注销不会干扰另一个。因此,我最终使用框架会议来实现这一点。否则我想我应该制作自己的会话cookies?这是一些我不完全理解的奇怪的需求操作。但是,您可以使用加密信息发布自己的cookie,这将使您既安全又能实现您想要的。顺便说一句,一个客户不可能有两次会议,所以…我对这方面的知识有限。但是,对于您最初的问题,不,会话id将只存储在纯文本中。在末尾添加了一点,这可能会对您有所帮助