我是一个初学Nodejs的开发人员,在进行身份验证时,我看到一些直接在注册控制器函数中加密密码,而一些使用中间件加密密码,该中间件在mongoose的保存方法之前触发。我真的不明白两种做法之间的区别。谁能告诉我最好的做法是什么,为什么?我通常在注册控制器中加密密码
p1iqtdky1#
将其放在Repository级别可以确保没有密码以普通格式保存(通常这是您可能遇到的最严重的安全风险)。将来,您可以添加多种方法来创建和保存新用户或更改其密码。将其放在控制器级别会增加风险,您将不会注意到加密不是在存储库级别完成的,并且您可以将密码保存为普通格式。即,您添加功能,以创建新的用户与密码和2周后,您添加功能,以重置密码-这是不同的控制器。
1条答案
按热度按时间p1iqtdky1#
将其放在Repository级别可以确保没有密码以普通格式保存(通常这是您可能遇到的最严重的安全风险)。
将来,您可以添加多种方法来创建和保存新用户或更改其密码。将其放在控制器级别会增加风险,您将不会注意到加密不是在存储库级别完成的,并且您可以将密码保存为普通格式。
即,您添加功能,以创建新的用户与密码和2周后,您添加功能,以重置密码-这是不同的控制器。