Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Сессия и Куки на одном сайте
Форумы портала PHP.SU » » Вопросы новичков » Сессия и Куки на одном сайте

Страниц (1): [1]
 

1. Slash Zn - 07 Августа, 2015 - 18:01:10 - перейти к сообщению
Здравствуйте.
В одной статье (уже не помню где) прочитал, что на одном сайте можно использовать только, что то одно, любо сессии, либо куки (типа это противоречит правилам PHP), на других сайта видел, что в одном сценарии используются как сессия, так и куки - session_start() и setcookie(). Например в авторизации используется и то и другое, далее для вывода или скрытия, какой то информации используется сессия, для какой то другой задачи используют куки. В общем намешали... И меня мучает сомнения, можно ли использовать на одном сайте использовать куки и сессии, в одном сценарии, не важно каком - авторизация, вывод инфы или еще чего?

Ещё вопрос, про setcookie(), какое значение лучше передавать? Может md5('имя пользователя') и md5('пароль') или что то другое? Если другое, то что?
Мануалы читаю, но хочу немного прояснить...
Спасибо.
2. Мелкий - 07 Августа, 2015 - 18:07:41 - перейти к сообщению
Сессия = кука + специальный файл на сервере.
Разумеется, куки и кука сессии друг другу не мешают.
3. Razzwan - 08 Августа, 2015 - 05:39:22 - перейти к сообщению
Преимущества cookie:
1. Можно использовать без ограничений по времени.
2. Меньше нагружает сервер (заметно при большом трафике).

Недостатки cookie:
1. Не всегда бывают включены у пользователя.
2. Чуть больше вопросов по безопасности.

Оптимальный вариант - это симбиоз. Большая часть которого в сессии уже осуществлена. Т.к. сессия использует куку, если они включены у пользователя, если же нет, дописывает к каждому запросу id сессии.
4. Slash Zn - 08 Августа, 2015 - 06:33:17 - перейти к сообщению
Спасибо за Ваши ответы! С этим понял. К сожалению я пока не могу нажимать на Спасибо! - недостаточно постов.

У меня ещё вопрос. На пример я использую куки, которые сохраняются на 30 дней, пользователь авторизуется и ставит галочку запомнить, как сделать его автоматом авторизованным при следующем посещение сайта, скажем через день. Понятное дело, что должна быть проверка кук, но а как понять что это тот самый пользователь, который авторизовался и ставил галочку.
Пожалуйста покажите пример на коде.
Спасибо.

Есть мысль сохранять id пользователя, логин и пароль зашифрованам в md5. При обращении пользователя к сайту, проверять куки, если есть проверяет по id шифрованный логин и пароль, если совпадает, значит авторизуем.
Верна ли такая схема?
5. esterio - 08 Августа, 2015 - 12:07:42 - перейти к сообщению
Slash Zn пишет:
Верна ли такая схема?

Нет. Просто делаете токен, который сохраняете в куках и в базе. потом просто проверяете совпадает ли токен с тем что в базе и авторизируете
6. Slash Zn - 08 Августа, 2015 - 14:40:10 - перейти к сообщению
esterio пишет:
Просто делаете токен

То есть, что то типа хеш ключа для каждого пользователя?

esterio, спасибо, Ваш пост мне помог понять, как сделать.

 

Powered by ExBB FM 1.0 RC1