|
5 / 5 / 0
Регистрация: 07.06.2012
Сообщений: 111
|
|
Идентификация пользователя кукой23.05.2017, 23:17. Показов 2524. Ответов 3
Метки нет (Все метки)
Делаю простое CRUD приложение. Что-то вроде доски объявлений. Объявления смогут добавлять только авторизированные пользователи. Чтобы идентифицировать пользователя буду использовать куки и записывать туда идентификатор. Общая идея этого механизма мне понятна. Непонятны некоторые детали реализации.
Итак: В таблице базы данных я храню id пользователя, логин, хеш пароля, UserAgent и IP с которого впоследний раз заходил пользователь. Идентификатор пользователя, который буду записывать в куку, генерирую таким вот образом: $session_id= $userid . '|' . md5($userid . $password_hash . $_SERVER['REMOTE_ADDR'] . $_SERVER['HTTP_USER_AGENT'] ) Получаю идентификатор такого вот вида: $session_id = "12|66d7cffb5444dc8c1e7a22ecfcb720cc " Далее этот идентификатор я запишу в куку и теперь всякий раз когда браузер пользователя будет запрашивать ту или иную страницу он мне будет присылать этот идентификатор. Всё прекрасно. Теперь вопрос: С чем мне этот идентификатор сравнивать? Получается мне нужно будет полученную строку "12|66d7cffb5444dc8c1e7a22ecfcb720cc " разбирать как-то. Ну например сначала вырезать из неё подстроку до первой вертикальной черты, таким образом я получу id пользователя, потом по этому id делать SELECT в базу и вытаскивать оттуда password_hash, UserAgent, IP, кодировать их снова md5($userid . $password_hash . $_SERVER['REMOTE_ADDR'] . $_SERVER['HTTP_USER_AGENT'] ) и сравнивать хеши. Если хеши совпали значит всё ок и пользователь идентифицирован, если не совпали то редирект на страницу входа. Правильный ли ход мыслей у меня? Или есть более простое решение?
0
|
|
| 23.05.2017, 23:17 | |
|
Ответы с готовыми решениями:
3
Безошибочная идентификация пользователя Идентификация компьютера пользователя Ошибка при работе с кукой |
|
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
|
|||||||
| 24.05.2017, 07:22 | |||||||
|
Я сейчас использую эту, на всякий случай указываю длину 100 символов:
Когда юзер заходит на приватную страницу, сверяете куку со строкой и id в БД, если совпало - авторизация пройдена. Если нужно дополнительно проверять IP и браузер - сохраняете их в отдельные столбцы в БД.
1
|
|||||||
|
930 / 846 / 190
Регистрация: 28.11.2013
Сообщений: 3,621
|
|
| 24.05.2017, 09:51 | |
|
user7845, вы когда генерируете новый ключ, сохраняйте его в базе (пример тут). Также можно использовать как имя файла и т.д. и т.п.
Добавлено через 3 минуты P.S. Если идентификатор пользователя хранить в конце полного ключа, разделитель можно не использовать. От этого одни плюсы, в частности нежелательно явно засвечивать идентификатор даже в куке. Пример там же.
1
|
|
|
5 / 5 / 0
Регистрация: 07.06.2012
Сообщений: 111
|
|
| 24.05.2017, 10:18 [ТС] | |
|
Благодарю за ответы. Разобрался.
0
|
|
| 24.05.2017, 10:18 | |
|
Помогаю со студенческими работами здесь
4
идентификация типа пользователя Идентификация пользователя Идентификация пользователя по голосу Идентификация пользователя в сети
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам
Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|