gpt4 book ai didi

Java Web 应用程序通过 cookie 保护授权

转载 作者:太空宇宙 更新时间:2023-11-04 08:02:12 24 4
gpt4 key购买 nike

我有一个 java servlet Web 应用程序。在应用程序中我有两个授权逻辑:1. 通过用户名和密码授权 - 通过网络表单使用用户填写的用户名和密码进行标准登录。2.通过cookies授权。一旦用户填写了用户名和密码,并选中“记住我”复选框,此后他就不应该输入用户名/密码。我对第二个选项(cookies)有疑问。目前的逻辑是:我检查用户是否选中“记住我”,我获取他的用户名和密码哈希值,并将其存储到 cookie 中。 (两个cookie:用户名密码)但是,我认为这种方式不安全。因为有人可以窃取 cookie 并访问网络应用程序。问题是:通过 cookie 对授权用户提供最好的安全保护方式是什么?我应该在炊具中储存什么?

最佳答案

首先,您要使用 SSL/TLS 与服务器进行通信。您可以为您的网站购买便宜的证书,所以不用担心。即使如此,您也不应该将用户名和密码存储在 cookie 中,这并不安全,因为有人可以破解他们的计算机并检索他们的密码,这不是您的问题,但甚至不要让自己卷入这种困惑之中,让它回来咬您。

您通常会创建一个在一定时间后过期的随机 sessionid,并将其与当前时间戳一起插入到您的用户表中。该 sessionid 是您存储在 cookie 中的内容,每次他们尝试使用 cookie 登录时,您都会在数据库中检查它。如果它太旧(您检查时间戳与您决定的任何长度),那么您将使 sessionid 无效并要求他们使用用户名和密码登录,从而创建一个新的 sessionid。

还有更多的方法可以防止 cookie 被复制到另一台计算机(您不必担心它会通过网络复制,这就是 SSL/TLS 的用途),例如将 IP 地址和浏览器添加到 cookie 中,以及其他一些东西,但这对于您正在做的事情来说可能有点过分了。

关于Java Web 应用程序通过 cookie 保护授权,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12676106/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com