服务器注销失败 > 仅客户端注销?
Server logout failed > client only logout?
我有一个一般性问题。我有一个使用 cookie 进行身份验证的 Web 应用程序。 cookie 也由服务器验证。
但是遇到以下情况我该怎么办:
- 用户点击注销按钮
- 通过AJAX注销请求发送到服务器
- 服务器已关闭或被黑客阻止,因此注销请求无法通过
问题是。我现在该怎么办?
- 显示错误消息并保持客户端登录(我应该说什么?)
- 注销客户端并显示错误消息(再次:我应该说什么?)
- 注销客户端,不显示任何消息。 (万一遭到黑客攻击,黑客可以使用客户端的Authentication token,因为服务器什么都不知道,而客户端什么都没有注意到)
希望您的会话超时很短,这样用户无论如何都会在 20 分钟左右后注销。
这是基于个人意见,但我的建议是尽可能清除客户端的 cookie - 这只有在您的会话 cookie 不是 httponly 时才有可能,而它们应该是。如果由于攻击者阻止对注销的访问而无法注销客户端 URL 那么:
是的,显示错误消息让用户了解情况。毕竟,处于风险中的是他们的帐户。类似于 "You could not be logged out. Please try again. If the problem persists, please contact us. It is recommended to clear your cookies."
所以要回答你的问题,最好的回答是#2,但是如果你将会话安全作为优先事项,这可能是不可能的,所以你将不得不选择#1。
我有一个一般性问题。我有一个使用 cookie 进行身份验证的 Web 应用程序。 cookie 也由服务器验证。
但是遇到以下情况我该怎么办:
- 用户点击注销按钮
- 通过AJAX注销请求发送到服务器
- 服务器已关闭或被黑客阻止,因此注销请求无法通过
问题是。我现在该怎么办?
- 显示错误消息并保持客户端登录(我应该说什么?)
- 注销客户端并显示错误消息(再次:我应该说什么?)
- 注销客户端,不显示任何消息。 (万一遭到黑客攻击,黑客可以使用客户端的Authentication token,因为服务器什么都不知道,而客户端什么都没有注意到)
希望您的会话超时很短,这样用户无论如何都会在 20 分钟左右后注销。
这是基于个人意见,但我的建议是尽可能清除客户端的 cookie - 这只有在您的会话 cookie 不是 httponly 时才有可能,而它们应该是。如果由于攻击者阻止对注销的访问而无法注销客户端 URL 那么:
是的,显示错误消息让用户了解情况。毕竟,处于风险中的是他们的帐户。类似于 "You could not be logged out. Please try again. If the problem persists, please contact us. It is recommended to clear your cookies."
所以要回答你的问题,最好的回答是#2,但是如果你将会话安全作为优先事项,这可能是不可能的,所以你将不得不选择#1。