【发布时间】:2015-07-20 15:52:34
【问题描述】:
使用srand(time()) 为密码重置(或 CSRF 令牌)生成令牌是不好的,因为令牌是可预测的。
我读过这些:
但我不明白令牌如何可以预测。我知道如果在一秒钟内我多次重置密码,我会得到相同的令牌。我有以下代码:
<?php
srand(time());
$reset_password_token = rand(444444444444,999999999999);
?>
如果我在一秒钟内多次重置密码,我知道我得到了相同的令牌,但攻击者如何利用它呢?
【问题讨论】:
-
种子只是一个问题。使用
rand本身,即使是不可预知的种子,也是一个安全漏洞。
标签: php security random passwords entropy