【发布时间】:2016-05-09 00:07:13
【问题描述】:
我想检查用户是否存在,如果不存在,则为其用户名(一个 gmail 地址)创建一个新条目
为了安全起见,我希望对电子邮件进行哈希处理,但是在每次检查时 bcrypt salt 都会更改,因此确定为新用户。
$user = user::firstOrCreate(['email' => bcrypt($googleUser['email'])]);
我怎样才能保证这个安全并让 firstOrCreate 识别以前的用户?
【问题讨论】:
-
保护电子邮件地址的原因是什么?
-
似乎是明智之举!这是人们的私人信息;我想做的最后一件事就是让它变得脆弱。该网站主要是为残障人士设计的 - 有些人很容易通过电子邮件联系。
-
所以使用用户名登录而不是电子邮件更简单
-
这就是我所做的......我有一个脚本/它可能是一个文件,其中存储了一个“随机 32 字节字符串”。它位于
document root之外的服务器上。您将其用作电子邮件地址的盐。使用任何cryptographic hash来散列电子邮件地址。这是您存储在数据库中用于用户数据的密钥。这将是安全的。这是您与用户电子邮件进行散列以进行查找的密钥。它可以存储在环境变量、配置条目等中。 -
您能否发布您最终决定做的事情作为答案并接受它 - 它标志着它已完成,因此没有人会浪费时间。很高兴能提供帮助。
标签: php laravel hash eloquent bcrypt