我需要防止其他用户重复使用密码哈希, 例如,如果用户可以创建他的哈希(知道诅咒的密码) 如果他获得了访问数据库并用他的替换别人的哈希,他将能够以该用户身份登录 我想知道是否将用户的id添加到哈希是好的做法,如果没有,我还能做什么? 谢谢。
答案 0 :(得分:0)
如果有人可以替换数据库中的凭据,和这是唯一决定访问您系统的东西,那么,是的,用户可以让您的系统接受他选择的任何密码
这是许多生产系统在公司内部使用的一个重要原因...... 和许多背面的管道和#34;面向公众的系统层... 不使用任何类型的密码来处理身份验证或授权。相反,他们使用"受信任的第三方权威" LDAP(OpenDirectory)或Kerberos等技术。没有人会彼此低声说话 - #34;在任何时候。
在这种情况下,"身份验证" (验证请求用户实际上是谁),以及"授权" (确定他能做什么)不由系统内部的逻辑处理:这些任务被委托给集中管理的公司权限。有一个"单点登录的概念。"没有"密码"偷。即使系统要求用户响应个人挑战,例如为了输入密码作为程序的一部分,中央机关(软件层)管理一切:提供挑战,解释响应,知道及时给出正确的响应,等等。
这些是强大的技术,具有经过同行评审,值得信赖的实施,这些实施也是跨平台和行业标准。他们非常全面。当你"刷你的徽章"每天早上进入你的建筑物,他们可能实际上解开了门。它们可以通过PHP和/或运行PHP应用程序的任何Web服务器服务来访问。