Andrei4ik93, я считаю лучшим вариантом мобильный номер с подтверждением входа.
1. К примеру я зашёл со своего компа на сайт и подвердил вход со свего железа отослав смс.
2. Какой-то Петя решил скопипастить мой данные входа, опа...при входе система замечает что IP последнего входа и железо не совпадает с текущим...
3. Делаем переход на авторизацию с подтверждением входа по телу.
Так сделано на многих популярных сайтах. Mail, ВК и другие.
Но тут нужно money, другой более мощной защиты я не видел. Нужно что-то уникальное что есть только у тебя и которое имеешь только ты и в единственном числе...а это твой номер телефона.
blackvj, 2ой пароль, первый пароль основа, а второй пароль нужно ввести если меняется ип
TrashDupe, не будем забывать, что мы - сайтостроители, делаем сайт для пользователей, а не для себя. Некоторые через 5 мин свой пароль забывают от акка и потом ноут плиз восстановите.
Если делать еще и второй пароль, который тоже можно того... то велика вероятность что сам пользователь при смене IP который меняется у некоторых провайдеров каждые 5 мин задолбаетья с этим.
# blackvj (14.12.2014 / 02:19)
Andrei4ik93, я считаю лучшим вариантом мобильный номер с подтверждением входа.
1. К примеру я зашёл со своего компа на сайт и подвердил вход со свего железа отослав смс.
2. Какой-то Петя решил ск
Еще идея.генерировать случайное число и вставивить туда где идет обновление времени проведенного на сайте.
А в ядре уже проверять на схождение этих чисел в базе и системе
Добавил функцию в ядро((
private function hash()
{
$hash= md5(mt_rand(1,9999999999));
return self::$hash = $hash;
}
Запустил
$this->hash();
Вытаскиваем хэш из ядра в core.php
/*
-----------------------------------------------------------------
Получаем системные переменные для совместимости со старыми модулями
-----------------------------------------------------------------
*/
$rootpath = ROOT;
$hash = core::$hash; // Hash
$ip = core::$ip; // Адрес IP
$agn = core::$user_agent; // User Agent
Запись хэща в базу а head.php
$db->query("UPDATE `users` SET $sql
`movings` = '$movings',
`hash` = '$hash',
`total_on_site` = '$totalonsite',
`lastdate` = '" . time() . "'
WHERE `id` = '$user_id'
");
И проверяем в ядре core::autorize()
permit = $user_data['failed_login'] < 3 || $user_data['failed_login'] > 2 && $user_data['ip'] == self::$ip && $user_data['hash'] == self::$hash && $user_data['browser'] == self::$user_agent ? TRUE : FALSE;
Andrei4ik93, что-то я не понял и что это дало тебе?
# ValekS (14.12.2014 / 11:28)
Andrei4ik93, что-то я не понял и что это дало тебе?
Если куки свистнут это поможет ведь......
Andrei4ik93, Зря всё это писал, толку ноль. Просто абсолютный ноль в сотой степени.
Кратко что ты сделал.
1. Сгенерировал для каждого пользователя случайное число и вставил в базу.
2. При авторизации просто происходит проверка есть ли в базе данное число для этого пользователя.
3. Защиты никакой. Тоже самое что проверять ввёл ли пол (муж/жен) пользователь при регистрации или нет в своей анкете.
# blackvj (14.12.2014 / 12:32)
Andrei4ik93, Зря всё это писал, толку ноль. Просто абсолютный ноль в сотой степени.
Кратко что ты сделал.
1. Сгенерировал для каждого пользователя случайное число и вставил в базу.
2. При авто
там число меняестся при обновлениях страницы по сайту((((
То есть если другой юзер зайдет под твоей учеткой то число не совпадет и сессия потеряется