Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> id сессии и её индексация 
:(
    Опции темы
bars80080
Дата 12.12.2008, 01:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



поздно уже, может чего-то не догнал, но всё же

только что хотел запостить ссылку на другую тему, но пока она не перестроилась в ней сидел идентификатор сессии, видать на случай, если куки не включены (а зачем ещё?). и как-то всплыли в памяти слова Фельдмаршала, о том, как вдруг поисковик проиндексирует страницу, а проходящий мимо робот выцепит её.


вопрос такой: сессия живёт на форуме постоянно при существовании той куки или каждый раз новая для определённого сеанса?
если постоянно, её уничтожают, если пользователь вновь зайдёт, но уже без куки и заново авторизируется?
как тогда на одного пользователя заводятся куки на разных компах, с разными идентификаторами сессии или одинаковыми?
даёт ли в этом случае идентификатор сессии одназначную возможность войти на сайт под моим логином?

Добавлено через 27 секунд
вопрос может тупой, но хочется раз и навсегда прояснить его
PM MAIL WWW   Вверх
teroni
Дата 12.12.2008, 02:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 15.5.2007
Где: Днепропетровск

Репутация: 8
Всего: 22



При заходе юзера создаётся сессия с определенным идентификатором. Этот идентификатор передаётся юзеру. Если включены куки - то он сохранятеся в куке, если куки отключены - то браузер добавляет этот идентификатор во все ссылки на той полученной странице. Также это умеет делать сервер, в зависимости от настроек. У юзера идентификатор и кука "забываются" при закрытии браузера. На серваке данные о сессии удаляются через определённое время от её старта.
Если некто в данный момент каким-то образом узнает мой иднтификатор сессии на каком-то сайте - то он сможет из своего браузера отправить его на тот сервер и зайти в мой личный кабинет. Но допустим через день ни он, ни я не сможем никуда попасть с этим идентификатором, т.к. на сервере данные, которые связаны с этим идентификатором будут уже удалены.
Естественно, при каждом моём новом заходе мне дают разные индентификаторы сессии.

Кроме сессий, куки от которых удаляются у юзера сразу после закрытия браузера, есть куки так сказать, длительного хранения. Благодаря этому нам не приходится здесь вводить каждый раз пароль.
Если посмотреть на куки этого форума, то можно увидеть 3 интересующие нас. В одной хранится видимо айдишник юзера, в другой - хэш его пароля. Эти куки для каждого конкретного форумчанина на любом из его компов одинаковы и хранятся довольно долго. И есть кука, в которой сидит идентификатор сессии, она каждый раз разная и удаляется при закрытии браузера.

Это сообщение отредактировал(а) teroni - 12.12.2008, 02:18
PM MAIL   Вверх
bars80080
Дата 12.12.2008, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Цитата(teroni @  12.12.2008,  01:15 Найти цитируемый пост)
Если некто в данный момент каким-то образом узнает мой иднтификатор сессии на каком-то сайте - то он сможет из своего браузера отправить его на тот сервер и зайти в мой личный кабинет

записать свой пароль. с новым паролем можно записать новый почтовый ящик и переавторизоваться. всё - аккаунт твой. 
понятно

такой вопрос, как отнесётся сайт к тому, что вроде только что работал человек с этой сессией, но с одного ip, а затем другого. это чисто зависит от того, как прописал разработчик?


Цитата(teroni @  12.12.2008,  01:15 Найти цитируемый пост)
Кроме сессий, куки от которых удаляются у юзера сразу после закрытия браузера, есть куки так сказать, длительного хранения

вот дальше об этом. мы заходим без авторизации, поднимаются куки и мы получаем сессию под нашим логином. эта сессия прописывается в ссылки, она индексируется. сессия удаляется в браузере пользователя, но сервер пока об этом не знает, до нового захода. сама сессия на сервере удаляется спустя какое-то время или остаётся жива до нового входа? если автоматом - то настройка выставляется в серваке? автоматом она какая? и как её можно задать из пхп?
PM MAIL WWW   Вверх
teroni
Дата 12.12.2008, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 15.5.2007
Где: Днепропетровск

Репутация: 8
Всего: 22



Цитата(bars80080 @  12.12.2008,  10:42 Найти цитируемый пост)
записать свой пароль. с новым паролем можно записать новый почтовый ящик и переавторизоваться. всё - аккаунт твой. 
понятно
это не понял.

Цитата(bars80080 @  12.12.2008,  10:42 Найти цитируемый пост)
такой вопрос, как отнесётся сайт к тому, что вроде только что работал человек с этой сессией, но с одного ip, а затем другого. это чисто зависит от того, как прописал разработчик?
Сессии никак не смотрят на айпишники юзеров. Вероятно это сделано для диалапщиков и др. людей, у которых айпи меняется автоматом по нескольку раз за сессию.

Цитата(bars80080 @  12.12.2008,  10:42 Найти цитируемый пост)
если автоматом - то настройка выставляется в серваке? автоматом она какая? и как её можно задать из пхп? 


Всё про сессии в php.ini. Подробнее настройки можешь посмотреть тут - http://www.phpclub.net/manrus/f/ref.session.html
PM MAIL   Вверх
bars80080
Дата 12.12.2008, 17:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Цитата(teroni @  12.12.2008,  15:39 Найти цитируемый пост)
записать свой пароль. с новым паролем можно записать новый почтовый ящик и переавторизоваться. всё - аккаунт твой. 
понятно

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

тем более важно знать, как долго она будет действовать после последнего захода со стороны пользователя
что-то по ссылке я не нашёл этой информации

или форум при каждом заходе проверяет кэш пароля в куке? но тогда смысл SID в урл?
PM MAIL WWW   Вверх
teroni
Дата 12.12.2008, 18:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 15.5.2007
Где: Днепропетровск

Репутация: 8
Всего: 22



Всё там есть...
Цитата

session.gc_probability специфицирует вероятность того, что утилита gc (garbage collection/сборщик мусора) стартует при каждом запросе, в процентах. По умолчанию 1.
session.gc_maxlifetime специфицирует количество секунд, после чего данные будут считаться 'мусором' и зачищаться.

То есть при каждом запросе с вероятностью 1% запускается сборщик мусора. Он удаляете все те сессии, которые были созданы раньше, чем session.gc_maxlifetime секунд назад. То есть если к вашему серверу нету запросов, то теоренитчески эта сессия не удалится очень долго. Но чем больше запросов - тем больше вероятность того, что эта сессия удалится за время близкое к session.gc_maxlifetime.

Как устроен этот форум я не знаю, но с точки зрения здравого смысла глупо при каждом запросе делать запрос в базу и сравнивать пароль из куки с паролем в базе. Возможно сравнивается пароль из сессии с паролем из куки, а может и этого нету. Смотри исходники, если так интересно smile
PM MAIL   Вверх
bars80080
Дата 12.12.2008, 18:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Цитата(teroni @  12.12.2008,  17:12 Найти цитируемый пост)
Смотри исходники, если так интересно 

этого форума?


Цитата(teroni @  12.12.2008,  17:12 Найти цитируемый пост)
То есть при каждом запросе с вероятностью 1% запускается сборщик мусора. Он удаляете все те сессии, которые были созданы раньше, чем session.gc_maxlifetime секунд назад

мда, я б так не надумал.


итого, злоумышленник получит возможность при украденном идентификаторе сессии сколько-то времени бродить по сайту, до тех пор пока в паузу между запросами не попадёт мусорщик, после чего произойдёт обращение к его куке с хэшированным паролем

остаётся узнать какой session.gc_maxlifetime лучше выставлять, чтоб сервер не нагружало и чистилось как можно быстрее. этакий оптимум, хотя бы относительно этого форума


PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.2874 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.