Я немного подумал о том, как сделать хорошую процедуру входа в систему.
Я пытаюсь добиться того, чтобы была страница входа с флажком Remember me
, О проблемах безопасности, которые я хорошо знаю, и о том, как их защитить, прочитав эти хорошие посты:
Полное руководство по аутентификации веб-сайтов на основе форм
https://paragonie.com/blog/2015/04/secure-authentication-php-with-long-term-persistence
Теперь, если флажок Remember me
не проверяется, я не хочу, чтобы он создавал cookie с токеном, и, конечно, я не буду ничего сохранять в базе данных.
НО, если он не отмечен, что мне делать дальше? Как правильно проверить & безопасно, что пользователь вошел в систему?
я использую CodeIgniter framework
и он имеет возможность хранить сеанс в базе данных, в ci_session
таблица, например, автоматически и проверять эти сеансовые ключи.
Поэтому я подумал о том, чтобы сохранить новое поле с именем login_key
в users
база данных, которая будет содержать login_key
хешируется, что также будет в самом сеансе, включая ‘user_id’ пользователя.
НО, подумав, что произойдет, если несколько устройств попытаются войти в систему одного и того же пользователя? Он просто отключит первое подключенное устройство.
И я хочу иметь возможность войти в систему к одному и тому же пользователю с нескольких устройств.
Как лучше всего это сделать? Еще одна таблица в базе данных login_keys
или есть способ как-то интегрировать его с ci_sessions
Таблица?
Спасибо!
Задача ещё не решена.
Других решений пока нет …