Java 关于GWT、Cookies和网页定向的问题
我正在使用gwt创建一个网站。此问题涉及用于保存登录详细信息的登录页面和cookies。GWT允许您在单个网页中创建网站 我的应用程序运行在一个网页上。我将应用程序设置为,有一个带有登录按钮的登录框,如果详细信息正确,它将加载底层UI并删除登录框 这意味着每次我刷新页面时,应用程序都会将我带到登录页面。是否设置了保存用户信息的cookie(例如一天),将详细信息输入登录框并自动登录 此外,web应用程序中的注销按钮将删除cookie中的信息,并将您带到登录页面(删除cookie信息并将您引导到网页的登录部分)Java 关于GWT、Cookies和网页定向的问题,java,web-applications,gwt,cookies,Java,Web Applications,Gwt,Cookies,我正在使用gwt创建一个网站。此问题涉及用于保存登录详细信息的登录页面和cookies。GWT允许您在单个网页中创建网站 我的应用程序运行在一个网页上。我将应用程序设置为,有一个带有登录按钮的登录框,如果详细信息正确,它将加载底层UI并删除登录框 这意味着每次我刷新页面时,应用程序都会将我带到登录页面。是否设置了保存用户信息的cookie(例如一天),将详细信息输入登录框并自动登录 此外,web应用程序中的注销按钮将删除cookie中的信息,并将您带到登录页面(删除cookie信息并将您引导到网
或者会有不同的方法。您可以在GWT中找到一些关于登录安全性的信息。还有一节介绍如何使用Cookie来记住用户已登录。我想说你几乎做到了:d以下是我在应用程序中处理登录/注销的方法:
- 这非常重要:记住在服务器端检查通过cookie传递的令牌是否等于作为请求/负载一部分传递的令牌
- 不要将密码以纯文本形式存储在数据库中-存储密码的哈希值。使用BCrypt可获得最大的安全性。这就是为什么我写道,您应该比较密码哈希值,而不是实际密码
- 当服务器遇到无效令牌时,这可能意味着许多事情——从正常到警报。一般来说,最好记录这些情况,并定期检查日志中是否有任何异常活动。
- 用户已经很久没有访问该站点了,令牌过期了。确保在客户端(cookies上正确的过期日期会导致用户重定向到登录页面,而不发送过期的令牌)和服务器端(每天扫描令牌列表并删除过期令牌的特殊任务?)
- 可能您对令牌验证设置了一些其他限制——比如令牌不能过期,当前尝试必须来自与最初生成令牌的IP相同的IP
- 发送请求时出现了一个错误,格式错误/损坏-对此无能为力,但将用户重定向到登录页面
- 第三方正试图使用手工制作的令牌登录。如果你使用愚蠢的容易猜测的令牌(比如基于用户名、rot13、自己的超级特别可怕的“加密”等等),那么你迟早会被它咬到。UUID是一个很好的候选令牌的例子——顾名思义,它是一个通用的唯一标识符——这意味着没有两个用户应该拥有相同的UUID,而且UUID本身是随机的和长的李>
更新2015-06-12:这里是我找到的一个最好的链接(通过完整的
实施
)。一个完整的登录周期,维护一个cookie(会话ID
)
如果您有一个名为“记住我”
”的选项,这会更好