Authentication 第一次请求后如何进行身份验证?

Authentication 第一次请求后如何进行身份验证?,authentication,Authentication,我试图了解认证是如何在网站上发生的。我不是要代码,我只是想理解这个概念。当用户第一次访问该网站时,他/她会登录,我的服务器会对其进行身份验证。但当用户移动到下一页时,由于http是无状态的,服务器如何知道当前用户是登录的同一用户 我已经想到了以下几种方法,但我不相信它们能完美地工作。对于addon来说,它们可能也没有效率 在每个请求中发送userid/password——非常糟糕的设计,因为userid/password可能被黑客攻击 使用cookies-它又有一个缺陷,用户可以将cookie

我试图了解认证是如何在网站上发生的。我不是要代码,我只是想理解这个概念。当用户第一次访问该网站时,他/她会登录,我的服务器会对其进行身份验证。但当用户移动到下一页时,由于
http
是无状态的,服务器如何知道当前用户是登录的同一用户

我已经想到了以下几种方法,但我不相信它们能完美地工作。对于addon来说,它们可能也没有效率

  • 在每个请求中发送
    userid/password
    ——非常糟糕的设计,因为userid/password可能被黑客攻击
  • 使用
    cookies
    -它又有一个缺陷,用户可以将cookie发送给他/她的朋友,那么我的服务器将处于不明确的状态:|
是否有更好的方法在后续请求中对用户进行身份验证


注意:我不允许使用
https
协议,因为它比
http
慢,并且有一些商业原因。

您可以使用一个令牌来保存会话的有效期。该令牌将随每个请求一起发送(您希望与之一起使用),并在@server上进行验证


我认为关于令牌的一个好帖子是这样的:

朋友可以从用户的计算机(类似于cookie)或通过网络访问令牌吗?如果是,那么这可能也没有用:|。我的意思是,假设令牌是
abcd
,那么黑客可以通过web请求向服务器发送相同的令牌,并屏蔽用户的身份,不是吗?从计算机可能是的,如果您使用HTTPS,那么网络应该是安全的。令牌可以包含用户的ip,以确保同一令牌不能从其他网络使用。如果可以从计算机复制,则该令牌不安全,类似于cookie。我们不能使用ip,因为ip可以被屏蔽:|。这里我假设用户想要破解/侵入我的服务器
https
是一个选项,但不是解决方案,对吗?无论如何,我不能使用https解决我的问题:(我不知道如何防止用户计算机上的东西被盗,会话的生命周期很短是一种选择。我的意思是,你不能防止用户计算机上的东西被盗,只能通过从计算机到服务器的方式。https应该涵盖这一点https的问题是,https价格昂贵且速度较慢。因此,我不能使用它。因此,你的意思是,除了https,我没有其他方法可以安全连接?