#111 2012.07.23 00:07

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

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

Ok. Спс.

Неактивен

#112 2012.07.26 14:38

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

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

Как-то так?

Код:

1
span style="color: #0000BB"><?php//DB//$db = DB::singleton();//COOKIES//$user = array();if (@$_COOKIE[INI_COOKIE_NAME]) { // INDEX KEY `cookie_id` $qt = 'SELECT * ' . 'FROM `users` ' . 'WHERE `users`.`cookie_id` = ? ' . 'LIMIT 1;'; $args = array($_COOKIE[INI_COOKIE_NAME]); $q = $db->prepare($qt); // Fixed if ($q and $q->execute($args) and $q->rowCount()) { $user = $q->fetch(); if ($user['cookie_timestamp'] < $_SERVER['REQUEST_TIME']) { $_COOKIE[INI_COOKIE_NAME] = md5(uniqid()); $qt = 'UPDATE `users` ' . 'SET `users`.`cookie_timestamp` = ?, ' . '`users`.`cookie_id` = ? ' . 'WHERE `users`.`user_id` = ? ' . 'LIMIT 1;'; $args = array($_SERVER['REQUEST_TIME'] + INI_COOKIE_LIFETIME, $_COOKIE[INI_COOKIE_NAME], $user['user_id']); if ($db->prepare($qt)->execute($args)) { setcookie(INI_COOKIE_NAME, $_COOKIE[INI_COOKIE_NAME], INI_COOKIE_EXPIRE, INI_COOKIE_PATH, INI_COOKIE_DOMAIN, INI_COOKIE_SECURE, INI_COOKIE_HTTPONLY); } } } else { setcookie(INI_COOKIE_NAME, null, 0, INI_COOKIE_PATH, INI_COOKIE_DOMAIN, INI_COOKIE_SECURE, INI_COOKIE_HTTPONLY); unset($_COOKIE[INI_COOKIE_NAME]); }}

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

Неактивен

#113 2012.07.26 15:36

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

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

$q в пером запросе тоже проверяй

Неактивен

#114 2012.07.26 15:39

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

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

Так вроде проверяется.

Код:

1
span style="color: #0000BB"><?php$q = $db->prepare($qt); if ($q->execute($args) and $q->rowCount()) {}

Неактивен

#115 2012.07.26 19:24

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

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

Код:

1
span style="color: #0000BB"><?phpif ($q && $q->execute($args) and $q->rowCount()) {}

Отредактировано tipsun (2012.07.27 04:09)

Неактивен

#116 2012.07.26 19:54

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

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

Ого.
Ну да, логично. prepare().

Отредактировано tipsun (2012.07.26 19:56)

Неактивен

#117 2012.07.27 22:31

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

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

Я решил fetch() тоже не обременять.

Код:

1
span style="color: #0000BB"><?php if ($q and $q->execute($args) and $q->rowCount() and $user = $q->fetch() and // гулять так гулять. $user['cookie_timestamp'] < $_SERVER['REQUEST_TIME']) { $_COOKIE[INI_COOKIE_NAME] = md5(uniqid()); //... }

Отредактировано tipsun (2012.07.27 22:53)

Неактивен

#118 2012.07.30 20:48

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

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

habrahabr.ru/post/13726 - хорошая статья.
Добавлено спустя   4 минуты  9 секунд:
- Поле Cookie_timestamp наверно лишнее. Можно и auth_timestamp, время последней авторизации, использовать.
- Привязку к ип попробую прикрутить
- Еще забыл проверять remember - при регенерации печенья чтоб нужный срок действия задать.

Неактивен

#119 2012.07.30 21:57

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

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

tipsun, 2007 год)

Неактивен

#120 2012.07.30 22:38

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

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

Да..., не умею я пользоваться поисковиком. smile

Неактивен

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

forum.wapinet.ru

PunBB Mod v0.6.2
0.014 s