#61 2011.09.15 01:31

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: авторизация $_COOKIE

Но зачем расшифровывать, если можно просто вставить в заголовок c куками и произвести авторизацию.
Я имею в виду шифровать пароль для записи в куку

Отредактировано TLENS (2011.09.15 01:34)

Неактивен

#62 2011.09.15 08:32

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: авторизация $_COOKIE

это да, частая ошибка.

Неактивен

#63 2011.09.15 09:30

DarkRiDDeR
Участник
Откуда: Вам это не надо знать
Зарегистрирован: 2011.05.12
Сообщений: 163
Карма: 4
Профиль Веб-сайт

Re: авторизация $_COOKIE

Ну я про куки не говорил, в куки пароль воопще незачем пихать, хоть зашифрованны, хоть незашифрованный. Для авторизации существуют сесси, они для этого и созданы, и нечего делать авторизацию на куках: возможностей меньше и защита меньше.

Неактивен

#64 2011.10.08 21:25

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: авторизация $_COOKIE

Или я снова, как всегда, не понимаю сути, или...

Все таки так, потому что это будет в шапке. А параметры мы задали в авторизации.

Код:

1
span style="color: #0000BB"><?php if (isset($_COOKIE['PHPSESSID'])) { session_start(); } ?>

А так, при авторизации, если юзер нажмет запомнить.
Только вот сейчас вопрос возник, если юзер использовал сессию до истечения срока, например в 1 минуту, то удаление файла сессии снова отложится на 1440 сек или нет?

Код:

1
span style="color: #0000BB"><?php//session_set_cookie_params(1440, '/', '.'.$_SERVER['HTTP_HOST'], false, true);ini_set('session.cookie_path', '/');ini_set('session.cookie_domain', '.'.$_SERVER['HTTP_HOST']);session_start();?>

Отредактировано tipsun (2011.10.09 16:58)

Неактивен

#65 2011.10.08 23:13

WapStyle
Участник
Откуда: Ирбит
Зарегистрирован: 2008.03.26
Сообщений: 475
Карма: 3
Профиль Веб-сайт

Re: авторизация $_COOKIE

Давать пасс в куку (даже шифрованный) не есть айс. Как делаю я
1. При авторизации(успешной) в базу записыватся хеш(рандомный) для определённого юзера и этот же хеш даётся юзеру в куку
2. Если юзер покинул сайт (нажал выход) идёт уничтожение куки у юзера и смена хеш в базе на рандомный.
3. Пароль узнать невозможно и сменить тоже, даже если авторизация была успешной(если каким то макаром удалось своровать действуюбщий хеш), т.к. при смене попросит вести старый пароль.
Отсюда имеем у юзера нет хеша, а если он его сохранил он всёравно не подойдёт, т.к. при выходе скрипт скрипт сам поменял хеш. Если юзер боиться что его акк взломали просто нужно нажать выход и заново авторизироваться(хеш будет изменён)

Ну как так ))

Неактивен

#66 2011.10.09 14:10

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: авторизация $_COOKIE

tipsun написал:

... Только вот сейчас вопрос возник, если юзер использовал сессию до истечения срока, например в 1 минуту, то удаление файла сессии снова отложится на 1440 сек или нет?

Время отсчитывается от последнеого обращения посетителя т.е. это время доступа к файлу, а не создания.

Отредактировано tipsun (2011.10.09 14:11)

Неактивен

#67 2012.02.10 12:11

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: авторизация $_COOKIE

С механизмом запоминания наверно можно так поступить:
- при авторизации пользователь указывает сайту "запомни меня".
- сайт создает обычную сессию + куку, имя которой заносится в базу.
Если есть PHPSESSID у пользователя, значит не надо проверять куку.
Другое дело, если PHPSESSID есть, а файл сессии удалился...
Наверно проверить по куке и сгенерировать новый PHPSESSID.
Это я только сейчас додумался, точнее сама в голову пришла идея.
Хотя давно все так делают big_smile 100%

Неактивен

#68 2012.02.10 17:49

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: авторизация $_COOKIE

можно еще при "запомни меня" время жизни сессии принудительно ставить большое.

Неактивен

#69 2012.02.10 21:37

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: авторизация $_COOKIE

Получается session_id() в базу надо будет заносить.
Код напишу, выложу.

Неактивен

#70 2012.02.10 23:19

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: авторизация $_COOKIE

Насчет сроков не посмотрел. Ну регерится с теми же сроками или нет.
Остальное за файлом/механизмом авторизации.

Код:

1
span style="color: #0000BB"><?phpif (isset($_COOKIE['PHPSESSID'])) { session_start(); if (! isset($_SESSION['SELF'])) { //Запрос к БД о наличии заданной session_id() //PHPSESSID=d65fjsmf8kc69ee8urb1glh855 //Можно было бы и SELECT COUNT(1) FROM `users` WHERE `PHPSESSID`='d65fjsmf8kc69ee8urb1glh855'; +- LIMIT 1; //Но надо, наверно, вытащить какую-нибудь важную инфу, поэтому скорее всего... //SELECT `uid` FROM `users` WHERE `PHPSESSID`='d65fjsmf8kc69ee8urb1glh855' LIMIT 1; if (/*Подсчет кол-ва затронутых строчек*/) { $_SESSION = array(); session_regenerate_id(); $_SESSION['SELF'] = true; //выплевываем данные с массива базы в массив сессии... } else { //отрубить сессию, может быть. } }}

Отредактировано tipsun (2012.02.10 23:21)

Неактивен

Дополнительно

forum.wapinet.ru

PunBB Mod v0.6.2
0.015 s