2012-08-10 31 views
0

随着所有黑客和漏洞以及最近的事情,我一直在想这个问题。 (几乎不可能)锁定整个应用程序以确保没有SQL注入点或可能导致数据库泄露的任何其他攻击。为什么我们将密码散列存储在与应用程序数据相同的数据库中? (或者:是否有任何理由我们不把它们存储在不同的数据库中?)

然而,这将是很容易审计SQL注入的应用程序,如果这是非常,非常,非常,非常简单。人们可以将密码存储在一个完全独立的数据库中,除了通过API之外根本无法访问它。这个API会说有三种方法:check_password,add_password,change_password。如果有人想通过Web应用程序中的某个安全缺陷转储数据库,他们仍然没有密码哈希。

想到这个想法似乎非常明显,但我还没有发现任何其他地方的任何引用,所以我的问题是:为什么我们不应该这样做?

回答

1

你在哪里存储密码数据库的密码?

+0

你是什么意思的密码?数据库的密码将存储在API服务器的配置中。 API本身可能没有密码(只能将访问与防火墙联合)。 – ZoFreX 2012-08-10 15:20:36

相关问题