gpt4 book ai didi

java - 胖客户端 session 管理和安全

转载 作者:太空宇宙 更新时间:2023-11-03 14:11:27 25 4
gpt4 key购买 nike

我想开发一个胖客户端应用程序(而不是使用 jsp/服务器端),我将在启动我的应用程序时提供一个登录面板。我不确定这是否是正确的方法(就安全性而言),所以想发表一些评论。

身份验证将通过后端数据库进行。也就是说,我在数据库级别创建用户,我的胖客户端应用程序将使用提供的用户 ID 和密码对数据库进行身份验证。这种方法足够安全吗?或者我需要一个真正的 session /密码管理 api 来做到这一点?

如何在这样的胖客户端应用程序中保持 session ?另外,如果我想加密我的应用程序和数据库服务器之间的流量,我应该只使用 JSSE 还是类似的?有没有办法加密数据而不是通信 channel ?我相信我的数据库服务器也需要能够解密我的加密数据。

最佳答案

I create the user at the database level and my thick client app will authenticate with database using the provided user id and password. Is this method safe enough?

是的,前提是您执行以下操作:

  1. 在数据库中散列密码,而不是对其进行加密。
  2. 通过查询数据库验证用户 SELECT count(*) FROM USERS WHERE USERNAME=? AND PASSWORD=MD5(?) 或您使用的任何哈希算法。请注意,此技术有意不告诉您用户名或密码是否错误,以避免将该信息泄露给攻击者的任何可能性。这个想法是它返回 1 或 0。

or do I need a real session/password management api to do this?

不是真的。

How do I keep sessions in a thick client app like this?

如果您指的是在登录之间持续存在的 session ,请将其保存在数据库中。如果您只是指在登录和注销之间持续的 session ,只需将其保存在注销时释放的对象中即可。

Also, if I want to encryption traffic between my app and the database server, should i just use JSSE or similar?

是的。

Is there a way to encrypt data instead of the communication channel?

数据库可以通过加密功能做到这一点。

I believe my database server need to also be able to decrypt my encrypted data?

什么加密数据?如果你指的是通过 SSL 传输的东西,它会自动解密。

关于java - 胖客户端 session 管理和安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29313522/

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