#31 2011.04.10 14:14

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

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

там просто проблема с тем, что папка переполнялась.

Неактивен

#32 2011.04.10 14:16

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

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

Понял. СПС.
В след раз в ману лезть буду...

Неактивен

#33 2011.04.10 16:14

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

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

Вот shit, поговнокодить не дают... http://phpfaq.ru/sessions

Неактивен

#34 2011.04.10 21:53

Nu3oN
Moderator
Откуда: БелгородЭ
Зарегистрирован: 2010.04.28
Сообщений: 805
Карма: 11
Профиль Веб-сайт

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

Зачем так мудрить? чем обычный подход к этому делу не устроил?


Я буду лучше голоден, но между креслом и рулем и на дороге.

Неактивен

#35 2011.04.10 23:01

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

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

Не, ну там написано типа для гостей не надо сессию начинать, как я понял.
Не надо старые сессии продолжать при получении куков, а стартовать новую с данными юзера.
- - - -
А если так делать, то надо в базу лезть.
И если даже для гостей сессию не начинать, то как captcha будет работать.
В принципе в этой сессии кроме ид, статуса и каптчи ниче не хранится у меня.
- - - -
Я в принципе писал, что пока не разбираюсь в этих делах, но хочу разобраться.
Там пример тоже приводится в конце статьи...

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

Неактивен

#36 2011.04.11 22:39

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

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

Заблудился я совсем...

Неактивен

#37 2011.04.12 14:58

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

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

Набросок

Код:

1
span style="color: #0000BB"><?php$db = mysql_connect('localhost', 'root', ''); mysql_select_db('tsb', $db); mysql_set_charset('utf8', $db);//типа авторизовался...if(isset($_GET['auth'])) { Session_Start(); //Когда логин и пароль подошли, из базы достаем... $_SESSION['id'] = 1; //пока просто для теста. $_SESSION['team'] = 1; //пока просто для теста. $_SESSION['ip'] = $_SERVER['REMOTE_ADDR']; ///// mysql_query("UPDATE `users` SET `ip`='".$_SERVER['REMOTE_ADDR']."', `remember`=1 WHERE `id`=1 LIMIT 1;", $db); //типа нажал запомнить //у меня там в говнокоде заносится и ip и browser SetCookie('REMEMBER', 1, $_SERVER['REQUEST_TIME'] + 86400, '/'); //типа нажал запомнить header('Location: http://'.$_SERVER['HTTP_HOST']); exit; }//в шляпе... не кролик...if(isset($_COOKIE['PHPSESSID'])) { Session_Start(); if(isset($_COOKIE['REMEMBER']) AND $_SESSION['ip'] != $_SERVER['REMOTE_ADDR']) { $query = mysql_query("SELECT `id`, `team` FROM `users` WHERE `ip`='".$_SERVER['REMOTE_ADDR']."' AND `remember`=1 LIMIT 1;", $db); //если типа нажал запомнить if(mysql_num_rows($query)) { //не надо начинать старые сессии, ну ладно не будем... //Удаляем старую сессию. Можно и оставить, сервер удалит... Session_Destroy(); //Удаляем её ключ unset($_COOKIE['PHPSESSID']); //Стартуем новую сессию Session_Start(); $array = mysql_fetch_array($query, MYSQL_ASSOC); $_SESSION['id'] = $array['id']; //Из базы будет извлекаться... $_SESSION['team'] = $array['team']; //Из базы будет извлекаться... $_SESSION['ip'] = $_SERVER['REMOTE_ADDR']; header('Location: http://'.$_SERVER['HTTP_HOST']); exit; } else { //переадресация на страницу авторизации. } } else { //переадресация на страницу авторизации. } }?>

Отредактировано tipsun (2011.04.12 15:13)

Неактивен

#38 2011.04.12 16:02

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

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

перед тем как делаешь session_destroy сделай еще и $_SESSION = null;
и пиши имена функций с маленькой буквы не  Session_Destroy, а  session_destroy.
а вообще не вижу смысла делать session_destroy, а затем сразу же делать session_start.

Неактивен

#39 2011.04.12 19:22

DarkDaNTe
Участник
Откуда: Украина
Зарегистрирован: 2009.01.08
Сообщений: 574
Карма: 11
Профиль

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

Код:

1
span style="color: #0000BB"><?phpunset($_COOKIE['PHPSESSID']);?>

и почитай как удалять куки еще

Неактивен

#40 2011.04.12 20:06

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

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

Спс всем. Буду еще думать.

Подумал:

Код:

1
span style="color: #0000BB"><?php$db = mysql_connect('localhost', 'root', ''); mysql_select_db('tsb', $db); mysql_set_charset('utf8', $db);//типа авторизовался...if(isset($_GET['auth'])) { session_start(); $_SESSION['id'] = 1; //пока просто для теста. $_SESSION['team'] = 1; //пока просто для теста. $_SESSION['ip'] = $_SERVER['REMOTE_ADDR']; ///// mysql_query("UPDATE `users` SET `remember`=1 WHERE `id`=1 LIMIT 1;", $db); SetCookie('REMEMBER', 1, $_SERVER['REQUEST_TIME'] + 86400, '/'); header('Location: http://'.$_SERVER['HTTP_HOST']); exit; }if(isset($_COOKIE['PHPSESSID'])) { session_start(); if(isset($_COOKIE['REMEMBER']) && $_SESSION['ip'] != $_SERVER['REMOTE_ADDR']) { $query = mysql_query("SELECT `id`, `team` FROM `users` WHERE `ip`='".$_SERVER['REMOTE_ADDR']."' AND `remember`=1 LIMIT 1;", $db); if(mysql_num_rows($query)) { $_SESSION = null; //чистим, чтоб потом чистый файл был :) session_regenerate_id(true); //ну тут собстЭнна я и упал с велосипеда... $array = mysql_fetch_array($query, MYSQL_ASSOC); $_SESSION['id'] = $array['id']; //Из базы будет извлекаться... $_SESSION['team'] = $array['team']; //Из базы будет извлекаться... $_SESSION['ip'] = $_SERVER['REMOTE_ADDR']; header('Location: http://'.$_SERVER['HTTP_HOST']); exit; } else { //session_destroy(); - надо или нет пока не знаю... //переадресация на страницу авторизации. } } elseif(!isset($_COOKIE['REMEMBER']) && $_SESSION['ip'] != $_SERVER['REMOTE_ADDR']) { //session_destroy(); - надо или нет пока не знаю... //переадресация на страницу авторизации. } //или просто продолжаем, если все нормально. }?>

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

Неактивен

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

forum.wapinet.ru

PunBB Mod v0.6.2
0.013 s