Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
Зачем еще крон? Добавить поле time и туда записывать UNIX time. Потом при получении сессии добавить:если пароль будет зашифрован md5(base64(md5())); то безопасно.
И зачем сессии? Проще сделать в базе данных в таблице с пользователями ещё две колонки (session, datesession)
Когда пользователь зайдёт, ему сгенериться сессия, и вместе с датой (в мускульном запросе NOW()) запишется в бд, а что бы значения наших полей удалялись можно в крон или планеровщик задач MySql добавить удаление их.
WHERE `time`>".time()-86400."
проверка не по маске а по 1 ip если меняется что-то, то не пускатьЯ сейчас вот тоже пытаюсь реализовать авторизацию правильную. Мысль есть такая, не хранить пароль вообще в сессиях и куках и т.д Генерировать некий ключ, по которому уже искать пользователя в БД. Пароль паролем а вот ВПИСАТЬ куда нибудь уникальный кусочек в куку и играться с ним. Ну и естественно при неверно маске IP - на вход с удалением кук и перегенерированием этого кусочека и т.д
Хранить пароль в сессии или в куке??
Вобшем, мой подход такой.
таблица авторизации
ид.,ид ползователя, токен, номер сессии(случайный уникалный сгенерированный номер), активен до, активен(труе,фолсе),агент(браузер), ип(айпи), тиместамп(последную дату активности)
Если аунтификация выполнена.
Генеруется "номер сессии случайный код" етот код хранится в таблице авторизации и в куке, так мы избегаем хранения ид или пароль пользователя в куке или в сесии, генерируем токен мд5(номер сессии + ид пользователя + агент(браузер) + ип(айпи) + соль) и храним его в базе, также храним браузер "активност до" дата по стандарту мускула, "актиен" на 1, и "тиместамп" чтоб узнать пользователь офлайн или онлайн.
Проверка на куки.
Если токен не совподает с имееюшим в базе( и или активен = 0,или активность до меньше чемтекушяя дата) то чтото изменилось может ип может браузер то не даем ему доступа
и удаляем все куки у етого пользователя а в логе если установлен уведомляем пользователя о вторжении(если токен не совпал)
очевидно, имеется в виду хранение в куке не токена, а id сессии, "номер сессии случайный код"Отлично, сам токен на стороне пользователя уже в куках храним?