а по поводу того, что я сказал выше, как думаешь?там много чего, что конкретно?
Как я понял лучшим решением является доп. таблица, в которой будут id пользователя, hash, и дата создания этого ключа доступа, чтобы их потом удалятьдостаточно поле в таблице пользователей, дополнительная таблица нужна только если вы хотите чтобы пользователь имел возможность запоминать себя с нескольких разных устройств. Дата опциональна, так как галочка "запомнить меня" подразумевает "навсегда", в крайнем случае можно задать время жизни авторизационной куки.
об этом решении мне рассказал @DevManподозреваю что имел он в виду не сессионную куку, и соответственно некоторую настройку сервера на время жизни сессионных файлов. По мне не лучшее решение, так как требует некоторых телодвижений по настройке сервера, что не всегда возможно. Да и минусы использования устаревших сессий я уже описал.
а почему нельзя задать сессии name с этим ключом, а потом просто получить сессию по ключу?
if($_SESSION['user']['is_logged'] == true){...}
if ($user['password'] == $_POST['password']) {
session_id($user['id']);
session_start(); // убрать, только в начале нужно
и как я положу в массив $_SESSION['user'] пользователя, если при его получении там есть пароль, или мне лучше создать новый массив без пароля и засунуть туда?
тут можно вытащить нужные поля, не только id,password и тд, и из них выбрать что нужно хранить и засунуть в сессию.$stmt = $conn->prepare('SELECT id,password FROM users WHERE login = ?');
А как тогда лучше проверять тот человек или нет?Никак, или попросите паспорт предъявить. То что человек ввел логин и пароль является для вас гарантией идентификации, а то что третьим лицам пароль достался под воздействием психотропных препаратов, терморектального криптоанализа или стырен с бумажки на мониторе вас волновать не должно. Вас волнует совпадение логина и пароля. Все. В сессию записали - условный вася ввел правильные данные. Все.
На самом деле такие уязвимости легко тестируются, есть даже онлайн сервисы, ну и соответственно легко закрываются в случае наличия. Не так все просто. Хотя вообще где вы нашли это, что куку легко угнать?