Использование microtime () для генерации токенов сброса пароля - плохая практика
В PHP ямы заметили, что некоторые фреймворки используют функцию microtime () для генерации токенов сброса пароля, как в:
$token = md5(microtime());
Это проблема безопасности? Если злоумышленник может синхронизировать часы с сервером с некоторой точностью, он может грубо заставить токен. Синхронизация в 1сек потребует только 1 000 000 попыток, и это не слишком безумно для проблемы.
Какова вероятность успеха этой атаки? Следует ли генерировать токены с помощью / dev / urandom или openssl_pseudo_bytes ()? Является ли microtime () плохой практикой?