我正致力于在一个中等规模的 PHP CodeIgniter 网站上创建基本的密码安全性。我需要开始加密保存到数据库中的密码。可以使用不同的方法插入用户密码,包括 CSV 导入或个人注册方法。
因此,我只想知道在应该加密密码的 MVC 系统中,正确的级别是什么?
最佳答案
您唯一需要执行此功能的时间是添加新用户或更新现有用户的密码时。这两个功能都应由用户模型执行。例如,像这样的东西:
$user = new User();
$user->setName('...');
$user->setPassword('...');
$user->save();
或:
$user = User::find('...');
$user->setPassword('...');
$user->save();
在此示例中,setPassword() 方法将进行实际加密。
另外,请这样想——将未加密的密码输入系统应该是不可能的。因此,您使用户模型成为与用户交互的唯一方式,并让它透明地加密所有提供给它的密码。
关于php - MVC架构中,密码加密应该在哪里进行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10836660/