В настоящее время я работаю над сайтом, для которого мне нужно создать защищенный паролем раздел. Пароли должны быть одноразовыми, их нельзя будет использовать после успешного ввода.
OTP, кажется, является подходящим вариантом, но я не могу найти руководства по созданию списков паролей для OTP, только те, которые учат отправлять SMS или использовать отдельное программное обеспечение.
Безопасность веб-сайта не обязательно должна быть защищена от хакерских атак, она должна быть достаточно надежной, чтобы обычный человек не знал, как ее использовать.
Вы можете создать столбец типа «used», для которого при первом входе в систему вы установите значение «yes». Логика вашего кода для проверки правильности пароля должна использовать этот столбец, чтобы определить, может ли пользователь войти в систему.
Вот код PHP (не специфичный для OTP), который сгенерирует случайный пароль на основе указанных вами параметров:
<?php
//variables
$minimumASCIIValue = 33;
$maximumASCIIValue = 126;
$generatedPassword = "";
$numberOfCharacters = 12;
//code
for($i = 0; $i < $numberOfCharacters; $i++)
{
$generatedPassword = $generatedPassword . chr((rand($minimumASCIIValue,$maximumASCIIValue)));
}
//output
echo "The generated one-time password is " . $generatedPassword;
?>
Пример вывода:
Сгенерированный одноразовый пароль% J7% L) 50 $ A * X