Java 通过NanoHTTPD创建登录门户。帮助维护会话

Java 通过NanoHTTPD创建登录门户。帮助维护会话,java,nanohttpd,Java,Nanohttpd,我正在创建一个简单的Java网站,并使用NanoHTTPD在web服务器和游戏服务器之间进行轻松控制 我想创建一个登录门户,以便客户端能够查看他们的游戏服务器状态并管理它 我遇到了麻烦,因为我不知道如何使用会话/访问令牌。我也不知道如何用PHP 我曾经考虑过使用IP会话,但是公共wifi热点的用户可能会让其他人管理他们的服务器。我曾经考虑过使用Cookie,但是可以很容易地对其进行编辑,以便访问其他人的服务器 因此,我的问题是,我如何通过浏览器为访问令牌存储一个值,而不必为他们单击的所有内容填写

我正在创建一个简单的Java网站,并使用NanoHTTPD在web服务器和游戏服务器之间进行轻松控制

我想创建一个登录门户,以便客户端能够查看他们的游戏服务器状态并管理它

我遇到了麻烦,因为我不知道如何使用会话/访问令牌。我也不知道如何用PHP

我曾经考虑过使用IP会话,但是公共wifi热点的用户可能会让其他人管理他们的服务器。我曾经考虑过使用Cookie,但是可以很容易地对其进行编辑,以便访问其他人的服务器


因此,我的问题是,我如何通过浏览器为访问令牌存储一个值,而不必为他们单击的所有内容填写表单,以及如何让他们登录(最好不用在cookie中存储密码)

我看到的答案是使用加密cookie。Google around,它要么是在NanoHTTPD中,要么你可以用Jasypt(简单Java加密库)实现一些东西。

如果你想要安全,不,因为他们将能够从游戏服务器的名称中找到会话(尽管它不会那么明显)。它应该是只有服务器才能生成的内容,例如哈希(“游戏服务器名称”+salt)或更安全的使用服务器密钥(“游戏服务器名称”+时间戳)加密。您不需要存储在用户会话中的密码。实际上,您不应该将密码存储在服务器上,而应该只将其散列以检查输入的密码是否正确。看看Jasypt文档,它们使加密变得非常简单。好的,谢谢。我将把用户名+前5个字母的密码哈希。需要很多蛮力。顺便说一句,当我推我喜欢的工具时。Play框架将完成一些繁重的工作,包括在客户端中设置加密的key=value对。如果您使用Jasypt,密码摘要的第一个字母实际上是salt(添加到密码中的字符,因此暴力破解无法使用预先制作的字典)。