Противоугонный механизм через cron job
Я только что закончил писать php скрипт для регистрации и входа пользователя android который работает отлично но мне нужно добавить
кража механизма идентификации в сценарии. Вот мои вопросы есть ли способ для меня
1. Сделайте так, чтобы имя пользователя и пароль самоуничтожались через задание cron сразу же после успешного входа в систему
или через 30 секунд войти в систему пользователя, то есть если пользователь выходит из приложения и хочет получить доступ к приложению
ему снова придется зарегистрироваться.
2. Есть ли способ, чтобы сделать пароль заблокирована по номеру телефона или IMEI устройства. Если пользователь B хочет использовать пароль пользователя A
приложение должно вызвать или показать диалоговое окно "пароль уже используется другим пользователем".
Смотрите мой код ниже
<? php
класс DbOperations{
частный $con;
функция _ _ конструкция(){
require_once dirname (__FILE__).'/DbConnect.php';
$db = новый DbConnect();
$this- & gt;con = $db - & gt;connect();
}
/*Твар -&ГТ; С -> создавать */
createUser государственной функции($имя пользователя, $сдать, $электронной почты){
Если($этом-&ГТ;isUserExist($имя пользователя,$электронной почты)){
возвращает 0;
}еще{
$password = md5($pass);
$параметр stmt = $это->По кон-&ГТ;подготовить("вставить в `пользователи` (`идентификатор`, `имя_пользователя`, `пароль`, `написать`) значения (null, ?, ?, ?);");
$полу-&ГТ;bind_param("ССС",$имя пользователя,$пароль$электронной почты);
if ($stmt- & gt;execute()){
возврат 1;
}еще{
возвращение 2;
}
}
}
публичная функция userLogin($username, $pass){
$password = md5($pass);
$параметр stmt = $это->По кон-&ГТ;подготовить("выберите ID из пользователей, где имя пользователя = ? А пароль = ?");
$stmt->bind_param("ss",$username,$password);
$stmt- & gt;выполнить();
$полу-&ГТ;store_result();
return $stmt-> num_rows > 0;
}
публичная функция getUserByUsername($username){
$параметр stmt = $это->По кон-&ГТ;подготовить("выбрать * из пользователей, где имя пользователя = ?");
$stmt->bind_param("s",$username);
$stmt- & gt;выполнить();
return $stmt- & gt;get_result ()- & gt;fetch_assoc();
}
частная функция isUserExist($username, $email){
$параметр stmt = $это->По кон-&ГТ;подготовить("выберите ID из пользователей, где имя пользователя = ? Или электронная почта = ?");
$полу-&ГТ;bind_param("СС", $имя пользователя, $электронной почты);
$stmt- & gt;выполнить();
$полу-&ГТ;store_result();
return $stmt-> num_rows > 0;
}
}
Пожалуйста, помогите
Что я уже пробовал:
Я опубликовал вышеприведенный вопрос в stackoverflow и gdg ответа пока нет
Richard MacCutchan
Почему вы хотите уничтожить учетные данные пользователя, когда он выходит из системы? Лучше хранить их в базе данных после регистрации. Кроме того, вы не должны быть в состоянии сказать, был ли пароль уже использован. Каждый пароль должен быть соленым хэшем, хранящимся вместе с регистрационной записью пользователя. Видеть Безопасная Аутентификация Паролем Объясняется Просто[^].