Forum Webscript.Ru

Программирование => PHP => Тема начата: Terion от 20 Октября 2006, 19:49:22

Название: Авторизация по средствам сессий.
Отправлено: Terion от 20 Октября 2006, 19:49:22
Как я понял, при открытии дочернего окна сессия сохраняется, но вот какая проблема. У меня при открытии нового браузера  происходит авто авторизация, как будто я уже авторизовался. Даже если закрыть все окна и открыть заново, то так же не требуется авторизация. Авторизация пропадает только по таймауту или через session_destroy();

В чем может быть проблема и если это нормально, то как это устранить.
Название: Авторизация по средствам сессий.
Отправлено: alex007 от 20 Октября 2006, 21:09:29
используем поиск, так как много тем было.
Название: Авторизация по средствам сессий.
Отправлено: Terion от 20 Октября 2006, 22:03:18
Я знаю, что было. И если заметили предыдущий мой пост был в топике за 2004г. что говорит о том что я прежде чем что-то спрашивать прошелся по поиску, но увы на свой вопрос я ответа не нашел. код авторизации я взял по примеру поста за 2004 год, возможно там были ошибки. Если нужно покажу код.  Буду признателен за ответ или ссылку на ответ.
Название: Авторизация по средствам сессий.
Отправлено: CGVictor от 21 Октября 2006, 01:19:48
Terion
Описанное поведение в общем случае нормально.
Уничтожать по destroy - вариант ничем не хуже других.
Название: Авторизация по средствам сессий.
Отправлено: Terion от 21 Октября 2006, 10:51:59
А можно, как нибудь определить, что сессия принадлежит другому окну браузера, не "материнскому", чтобы не позволять пользоваться не закрытой сессией из другого окна?
Название: Авторизация по средствам сессий.
Отправлено: Terion от 21 Октября 2006, 12:45:33
И еще один вопрос, как сделать чтобы разрушение сессии отражалось только на конкретной сессии, а не разрушало все сессии.
т.е. у меня на одном домене 2 вертуальных сервера, авторизацию произвожу отдельно на каждом, все работает ок. а если нужно выйти на одном, то автоматически исчезает сессия и на другом, как привязать session_destroy(); к конкретному id ?
Название: Авторизация по средствам сессий.
Отправлено: CGVictor от 21 Октября 2006, 12:57:51
Terion
Цитировать
Terion:
сессия принадлежит другому окну браузера

Никак.

Цитировать
Terion:
привязать session_destroy(); к конкретному id

Незачем. Можно и не дестроить сессий, а просто для выхода в сессии ставить в ней некий идентификатор. Или снимать. И все разделения спокойно производить на уровне логики скрипта.
Название: Авторизация по средствам сессий.
Отправлено: Terion от 22 Октября 2006, 12:42:35
Можно ли, определить какие переменные сессии преданлежат к конкретной сессии?
Т.е.  print_r($_SESSION) выводит строку
Array ( [username] => terion1 [name] => terion )
причем username принадлежит одной сесии(авторизация на одной странице), а name другой(авторизация на другой странице), как вывести переменные конкретной id сессии?
Название: Авторизация по средствам сессий.
Отправлено: Terion от 22 Октября 2006, 13:07:40
Как перевести в верхний регистр значение переменной?
т.к. mysql  чувствительна к регистру, то я вижу единственный выход производить поиск по типу
SELECT * FROM a_posit WHERE upper(field) LIKE \'%".$text."%\'
но для этого нужно и значение переменной $text перевести в верхний регистр... Как это сделать?

Разобрался, кому интересно  strtoupper($text)
Название: Авторизация по средствам сессий.
Отправлено: CGVictor от 22 Октября 2006, 21:34:41
Terion
Сессия работы пользователя со скриптами одного и того же интерпретатора в одном домене в одном и том же браузере будет одна, независимо от того, какой именно скрипт его авторизовал.
Название: Авторизация по средствам сессий.
Отправлено: Terion от 23 Октября 2006, 11:51:22
Прошу прощение, я может что-то не понимаю... у меня разные браузеры, т.е. открыты два отдельных окна браузера. В этом случае сессия тоже будет одна?
Название: Авторизация по средствам сессий.
Отправлено: CGVictor от 23 Октября 2006, 12:30:26
Terion
Два отдельных окна одного браузера? :)