#91 2012.06.29 17:07

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

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

Хм. А что мне мешает сделать все без сессии?
В базе есть поле для cookie_id по нему пусть и получают доспуп пользователи. Какого фига сессия нужна там? smile
Чем сессия будет каждый раз open+unserialize лучше уж запрос в базу.
Может понадобиться обычная сессия для captcha только наверно.

Неактивен

#92 2012.06.29 18:09

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

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

Либо у меня горячка, либо озарение простых вещей smile
Хотя если файл сессии сохранился, то в принципе все будет быстро...

Код:

1
span style="color: #0000BB"><?php//Набросок.//+ SESSION////! KEY `session_id`if (isset($_COOKIE[SESSION_NAME])) {/* session_name(SESSION_NAME); session_start(); if (! isset($_SESSION[SESSION_NAME])) { $_SESSION = array();*/ $result = $db->prepare("SELECT `users`.`user_id`, `users`.`user_title`, `users`.`user_sex`, `users`.`user_name` FROM `users` WHERE `users`.`session_id` = ? AND `users`.`session_expire` > NOW() LIMIT 1;"); $result->execute(array($_COOKIE[SESSION_NAME])); if ($result->rowCount()) {/* $_SESSION[SESSION_NAME] = true; session_set_cookie_params(SESSION_EXPIRE, SESSION_PATH, SESSION_DOMAIN, SESSION_SECURE, SESSION_HTTPONLY); session_regenerate_id(true); $_SESSION += $result->fetch();*/ $user = $result->fetch(); /*$result = $db->prepare("UPDATE `users` SET `users`.`session_expire` = NOW() + INTERVAL '" . SESSION_EXPIRE . "' SECOND, `users`.`session_id` = :new WHERE `users`.`session_id` = :old LIMIT 1;"); $result->execute(array(':old' => $_COOKIE[SESSION_NAME], ':new' => $_COOKIE[SESSION_NAME] = session_id()));*/ } else { setcookie(SESSION_NAME, null, //Session value. 0, //Session expire. SESSION_PATH, SESSION_DOMAIN, SESSION_SECURE, SESSION_HTTPONLY);/* unset($_COOKIE[SESSION_NAME], $_SESSION); session_destroy();*/ } //}}//- SESSION//

Добавлено спустя   1 минуту  56 секунд:

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

Неактивен

#93 2012.06.29 18:26

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

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

Cookie сгенерировать и засунуть в базу. Срок годности 3 дня, допустим. Или как-то так.

Неактивен

#94 2012.06.30 00:44

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

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

Да, на этом форуме вроде, как я посмотрел, такая же схема.

Отредактировано tipsun (2012.06.30 00:48)

Неактивен

#95 2012.06.30 17:08

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

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

Если без срока в базе, то можно будет взломать, нет?
Зато намного быстрее работать будет.

Неактивен

#96 2012.07.03 21:21

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

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

Выдавай в куки временный хеш...например если чел авторизировался ему в куки хеш..вышел кеш заменяется на любой случайный...если не дурак поймёш

Отредактировано WapStyle (2012.07.03 21:22)

Неактивен

#97 2012.07.03 23:21

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

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

WapStyle, спасибо за идею. smile
Добавлено спустя   8 минут  20 секунд:
Так.
У меня, типа smile , есть отдельная таблица с активными/онлайн. Может сделать раздельно?
Там у меня записи не удаляются. (REPLACE).
Можно, в принципе зачищать поля с id=0 т.к. гости его не имеют.
Значит вполне возможен вариант с проверкой юзеров, которые не подавали активности, скажем, 20 часов.

Код:

1
span style="color: #0000BB"><?php//+ ACTIVITY//$qt = 'REPLACE `activity` ' . "SET `activity`.`active_id` = '" . ((int) @$user['id']) . "', " . '`activity`.`active_ip` = ?, ' . '`activity`.`active_browser` = ?, ' . "`activity`.`active_point` = NOW() + INTERVAL '" . $ini['activityExpire'] . "' SECOND;";$db->prepare($qt) ->execute(array($_SERVER['REMOTE_ADDR'], $_SERVER['HTTP_USER_AGENT']));//- ACTIVITY///*в $ini у меня типа настройки стандартные или замещеные с базы.Сейчас подумал, что типа зачем вытаскивать настройки, когда наверно там же в запросе можно обратиться к таблице с настройками. Или такого рода настройки вообще в константу? ХЗ.*/

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

Неактивен

#98 2012.07.03 23:41

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

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

Потом еще подумаю.

Неактивен

#99 2012.07.06 14:38

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

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

WapStyle, да. Очень хорошее решение.
Запланировать каждую ночь 1 проверку.
У кого есть отметка запомнить, оставлять куку. Другим очищать в базе поле кука_ид. smile

Неактивен

#100 2012.07.06 17:49

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

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

Это уже раздел cron наверно. Надо будет почитать что и как там.

Неактивен

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

forum.wapinet.ru

PunBB Mod v0.6.2
0.013 s