应用程序使用数据库授权和验证用户

时间:2016-03-11 17:51:24

标签: mysql sql oracle postgresql

我正在用Delphi(Object Pascal)编写一个多用户应用程序。

我想使用MySql,Oracle或PostgreSQL作为数据库。

我有一个表Users,其中包含用户名和密码列。 (我希望为每个用户分别进行DB登录)

当然,应用程序本身必须连接到数据库,并通过输入的用户名和密码组合授权用户。

SAP,Sage或Social Networks等软件会使用相同的方法,我猜?

因此,应用程序必须知道数据库登录用户名和密码才能连接到数据库,然后检查Users表。

我的问题是:

我在哪里保存应用程序的数据库登录用户名和密码,以便检查Users表? 我不想在应用程序中对其进行硬编码,因为它可以通过逆向工程轻松访问,然后用于直接连接到数据库。

1 个答案:

答案 0 :(得分:1)

老实说,您最好的方法是遵循服务器周围的最佳安全实践。您可以使用salt,但哈希函数也必须存在于服务器上,如果黑客首先访问服务器,那么在他们找到哈希并拉出哈希之前不久密码。

我认为有效的组织实际上通过默默无闻来产生一些安全性。也就是说,将DB连接凭据和字符串放在配置文件中。仍然,访问应用程序代码将为黑客提供获得他们想要的东西的线索,但这并不意味着您不应该遵循最佳编码实践。

然后,锁定你的盒子。与您的安全团队合作,确保他们不想访问它的任何人都无法访问它。