#php #cookies
#php #файлы cookie
Вопрос:
У меня есть сценарий входа в систему с сеансом и файлами cookie, (запомните меня) Имя пользователя, токен, селектор хэшируются и устанавливаются в файлы cookie, но для идентификатора пользователя и даты истечения срока действия файлов cookie не установлено значение 1 месяц.
Мне нужно установить идентификатор пользователя для файлов cookie, чтобы использовать его на сайте для отображения данных, но установка всех важных данных в файлы cookie мне кажется неправильной.
Я могу сменить имя пользователя на идентификатор пользователя, но идентификатор пользователя на моем сайте важнее, чем имя пользователя, поэтому я не хочу делать его общедоступным.
Можно запросить повторную регистрацию для установки сеансов php для важных страниц.
Любой другой совет?
Все виды советов приветствуются, спасибо.
Комментарии:
1. Вы пытаетесь создать какую
remember me
-то функцию для своей страницы входа?2. У меня уже есть
remember me
опция в сценарии входа. пример: когда я вхожу в систему сremember me
помощью, файлы cookie будут помнить меня в течение 30 дней. когда я когда-либо вернусь на сайт cookies, войдите в систему с учетными данными для входа в систему cookie. какое имя пользователя, случайный селектор и токен. Но нет идентификатора пользователя, который меня смущает, если безопасно устанавливать имя пользователя и идентификатор пользователя для файлов cookie.3. Что именно чувствительно к идентификатору пользователя? Что может сделать любой, получив его?
4. Никогда не храните подобные данные в файле cookie, как я это делаю. Создайте дополнительный столбец в своей таблице пользователей для хранения токена. Файл cookie, который я создаю для своего пользователя, таков: user
ip address_user browser agent_random generated key
Я кодирую эту строку с помощью base64 и сохраняю ее в файле cookie и в базе данных. Когда пользователь переходит на страницу входа в систему, я проверяю его файл cookie, декодирую его и проверяю, остался ли прежним IP-адрес и его агент браузера, и соответствует ли его токен одному в БД, и получаю все его пользовательские данные.5. @El_Vanja Идентификатор пользователя важен, когда вы используете in для отображения данных из базы данных, например
$_SESSION['userID'];
, в запросах, если я получу ваши учетные данные из файлов cookie, я смогу отредактировать или изменить вашу базу данных. @Baracuda078 Я делаю то же самое хорошо и многое другое. Вы пыталисьecho $_SESSION['userID'];
илиecho $_COOKİE['userID'];
при входе в систему только с использованием файлов cookie?