Google app engine 如何为userA为userB发送cookies';webapp2中的会话

Google app engine 如何为userA为userB发送cookies';webapp2中的会话,google-app-engine,encryption,session-cookies,digital-signature,webapp2,Google App Engine,Encryption,Session Cookies,Digital Signature,Webapp2,Webapp2会话的安全cookie由服务器的私钥签名。这可以防止有人制作自己的cookie并让服务器接受它们。但是,不能有人从会话X获取cookie,并将它们作为cookie传递给另一个会话Z(中间人攻击)吗?似乎防止这种情况的唯一方法是要求使用其中一个cookie来标识cookie应用于的用户。这样,只有针对具有用户X的会话的cookie才能用于具有用户X的会话;它们不能与用户Z的会话一起使用 服务器未验证“用户id”cookie的示例(不安全): 服务器为用户X设置cookie C 服务器

Webapp2会话的安全cookie由服务器的私钥签名。这可以防止有人制作自己的cookie并让服务器接受它们。但是,不能有人从会话X获取cookie,并将它们作为cookie传递给另一个会话Z(中间人攻击)吗?似乎防止这种情况的唯一方法是要求使用其中一个cookie来标识cookie应用于的用户。这样,只有针对具有用户X的会话的cookie才能用于具有用户X的会话;它们不能与用户Z的会话一起使用

服务器未验证“用户id”cookie的示例(不安全):

  • 服务器为用户X设置cookie C
  • 服务器为用户Y设置cookie D
  • 用户Y在模拟X时发送cookie D
  • 由于C和D都是用服务器的私钥签名的,所以服务器接受D并将其视为X帐户中的有效cookie
  • 服务器验证“用户id”cookie(安全)的示例:

  • 服务器为用户X设置cookie C,还设置一个带有用户X id的“id”cookie
  • 服务器为用户Y设置cookie D,并且还设置一个带有用户Y id的“id”cookie
  • 用户Y在模拟X时发送cookie D
  • 服务器将查看伴随D的“id”cookie,并查看该id是针对用户Y的。然后,服务器意识到提供的cookie只能应用于Y,因此不会将其视为对用户X有效
  • 请确认是否需要检查“用户id”cookie,以防止有人从会话X获取cookie并将其作为cookie传递给另一会话Z