Исследуя код шаблона advanced заметил, что код восстановления пароля пользователя генерится так:
Код: Выделить всё
/**
* Generates new password reset token
*/
public function generatePasswordResetToken()
{
$this->password_reset_token = Yii::$app->security->generateRandomString() . '_' . time();
}
А затем проверяется так:
Код: Выделить всё
public static function isPasswordResetTokenValid($token)
{
if (empty($token)) {
return false;
}
$timestamp = (int) substr($token, strrpos($token, '_') + 1);
$expire = Yii::$app->params['user.passwordResetTokenExpire'];
return $timestamp + $expire >= time();
}
Насколько серьезна эта потенциальная уязвимость?