gpt4 book ai didi

java - 创建一个表来存储单行是糟糕编程的标志吗?

转载 作者:行者123 更新时间:2023-12-01 19:30:18 25 4
gpt4 key购买 nike

我正在开发一个连接到数据库的java项目,我正在考虑一种在数据库中存储“管理密码”的方法,以授予对我的java程序中“管理方法”的访问权限。创建一个表只是为了存储此密码,以便您可以检索它,甚至在程序中得到正确的密码时更改它,这是否是糟糕编程的标志? (例如:插入 psw---->从数据库检索 psw ----> 如果相同,您将切换到操作的管理列表,其中之一就是更改此 psw)

最佳答案

如果您的问题确实是这样,“使用数据库(编辑:或数据库表)仅保存一条或几条数据是一种不好的设计实践吗? ”,我想说可能不会。数据库是保存数据的地方,并且很容易扩展。您可能在某些时候需要保存更多数据,并且在未来需要保存更多数据,而数据库可以非常有效地做到这一点。

对于单条数据来说是不是有点大材小用了?可能吧,但我怀疑你最终会把那一件东西存放在那里。如果只有一个用户(您),您不需要数据库,而是需要安全凭证或只有您可以访问的应用程序。但假设它不仅仅适合您,您可能会发现许多其他有助于存储在那里的东西。

但是,您并没有真正提出但应该更感兴趣的问题是,您可以安全地执行此操作吗?答案还有很多可疑之处。即使设计非常完善、复杂的用户访问系统也存在漏洞。很难解释所有常见的漏洞和设计缺陷。您将如何处理密码加密?暴力破解攻击?利用数据库对不同密码的响应时间差异来磨练密码的攻击?

我不是安全专家,但我足够了解这一点,并将安全相关系统留给专门研究它们的人。我建议你这样做。

如果您绝对需要用户身份验证过程,请使用现有的系统。绑定(bind)到身份验证系统并不难,而且安全得多。如果您不是绝对需要,并且这一切只是为了您或其他用户,请避免安全问题,并且不要将其开发为通过应用程序登录的公共(public)系统。

编辑:重新阅读您的问题,您已经有了一个数据库,但正在询问其中的附加表。我的答案是——这不是一个坏习惯,但是如果您不知道自己在做什么,那么在其中存储密码仍然非常危险。

关于java - 创建一个表来存储单行是糟糕编程的标志吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59939872/

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