激活路由是不是应该再增加一个{user}参数?
$user = User::where('activation_token', $token)->firstOrFail();
其实我是想问这句代码是不是存在隐患;
如果在概率极低的情况下,出现了两个待激活用户的$token一样,26的10次方分之一,会出现激活到别人账户问题。
概率极其低。这种极低的概率当然在实际上线的应用中无须考虑。
但是不是应该给验证邮箱的路由再增加一个参数{$user},先获得$user,再验证$user->activation_token.
这样是没有了以上极低概率的BUG。
但是又引出一个安全问题,因为$user暴漏在外面了,例如http://....../1/jjjldlldll;
在用户验证之前,是否可以根据这个链接搞些事情呢?
不过考虑不出来能搞什么事情。
好吧,其实以上都是猜测,或许都是不正确的,我还是想问第一句话,只验证$token是不是不严谨的问题?
推荐文章: