我已经阅读了"how-to-secure-database-passwords-in-php",建议将密码保存在应用程序的Web根目录之外的配置文件中,但如果我想控制“admin”和“只读”,我应该使用什么模式“我网站的用户。当管理员登录时,我需要能够加载管理员配置密码文件,反之亦然。我想为两个用户使用相同的域模型。我应该为“角色”对象建模并让它管理使用的密码吗?还是有一个更简单的解决方案。我还应该创建两个单独的密码配置文件,或将两个帐户详细信息捆绑到一个文件中吗?
此致
答案 0 :(得分:0)
嗯,没有单一的“正确”答案。这取决于项目的复杂性和范围 - 但更重要的是,它取决于项目的更改性质。
如果您预计需要管理员访问权限或只读权限的不同人员会进行大量更改和添加,那么您需要使用模型层来存储和访问密码。如果您需要在应用的不同部分访问更精细的权限/权限,则角色对象可能很有用。否则,在角色字段中使用单个布尔isAdmin字段或整数/枚举可能没问题。
在配置文件中使用户面向密码的唯一情况是,很少访问管理员,并且只有一两个人访问。否则,您希望将密码视为应用程序模型的完全成熟部分。
答案 1 :(得分:0)
除DB密码之外的所有密码都应存储在DB中并进行单向散列。这是最简单,最常用的方法,非常安全。是的,将db密码存储在Web根目录上方的配置文件中也是一个好主意。