Get out of my SESSION !

SeaGull

Junior Member
Get out of my SESSION !

На сайте ведутся сессии. В шапке прописаны простейшие
session_start() и session_register(a,b,c);
В сессии хранится IP пользователя.

Если вдруг обнаруживается, что IP сменился, предполагаем что кто-то влез в чужую сессию. Подскажите пожалуйста, как грамотно завести для вошедшего собственную сессию, не убив старую.
 

SeaGull

Junior Member
Спасибо конечно, но ответа я там не нашел.
Если только это не было предложением задать session_id вручную.
 

kruglov

Новичок
IP может и по другим причинам смениться... Например, у AOL юзеров он раз от разу разный может быть.
 

Lamer_Scorp

Guest
kruglov


в смысле при каждом коннекте в клиенту или к диал-ап пулу? Это понятно. Тут речь о другом: юзер уже в системе, и ему соответствует определёттный ип. И елси во время активности сесии кто то заходит с таким же именем сессии, но с другим ип, то нада заводить другую сессию.

SeaGull

Можно проверять ИП записаный в базе. Тоесть предполоджим в таблице сессий твоего мускуля есть поля "номер сессии" и "ip", вот и выгребай запросом записи в которых номер сессии и ип соответствуют данным юзера, елси записей из базы выдано 0, значит сгенерить новую сессию. Мои слова в код думаю обличить не сложно.

-~{}~ 28.05.05 17:29:

ЗЫ: думаю хранить сессии в базе было бы лучше чем в куках.
 

lovchy

nacido para cifrar
> ЗЫ: думаю хранить сессии в базе было бы лучше чем в куках.
Чрезвычайно полезный совет.. Иногда лучше жевать чем говорить.

SeaGull
Зачем это может быть нужно?
 

Фанат

oncle terrible
Команда форума
lovchy
может, ему Read-only сделать?
подзадолбал, если честно, своими тупыми репликами совершенно не в тему
 

kruglov

Новичок
Lamer_Scorp
Нет, в смысле время от времени в течение одного "коннекта".

Вроде это характерно для пользователей America Online...
 

_RVK_

Новичок
На сайте ведутся сессии.
Хорошая фраза, но сбивает с толку. На сайте наверное используются сессии.
Устарело. пользуем $_SESSION
В сессии хранится IP пользователя.
Зачем?
что кто-то влез в чужую сессию
Ух круто. Как? Скопировал куку? Узнал SID?
как грамотно завести для вошедшего собственную сессию, не убив старую
А вот ответь правыльно на предыдущие вопросы и поймешь что это тебе не нужно :)

-~{}~ 29.05.05 01:41:

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

SeaGull

Junior Member
_RVK_
>> что кто-то влез в чужую сессию
Ух круто. Как? Скопировал куку? Узнал SID?
Пользователи регуляно пересылают друг-другу URL'ы страниц сайта. Или публикуют их на форумах. Иногда URL'ы содержат SID сессии. Вот так, например:http://www.***.ru/page123.html?PHPSESSID=0d0791b1cb2
Перейдя по этой ссылке, вскорости после её публикации, человек имеет шанс попасть в чужую сессию.

автор должен просто грамотнее задать вопрос. SeaGull, опиши что ты хочешь подробнее.
Я всего-то спросил, как, уже находясь в сессии, создать новую сессию, не убив старую.

Вот Lamer_Scorp (спасибо ему) проблему понял. Но его вариант с хранением SID сессий в базе мне не нравится. Лишний раз напрягать базу не хочется. Почти уверен, что проблему можно решить стандартным набором фунций работы с сессиями. Но как, увы, не разобрался.
 

Фанат

oncle terrible
Команда форума
хрена себе - понял.
Это значит ты своего вопроса не понимаешь.
Какая разница, где хранить сессию, если проблема только в том, чтобы стартовать новую? Немножко подумать головой можно? Если человек предлагает изменить способ ХРАНЕНИЯ - это значит, что он вообще ничего не понял.

Чуваки, я конечно понимаю, что в вас говорит ламерская солидарность и всё такое. Но здесь у вас этот номер не пройдёт. На свежий воздух пойдут оба.

Ты вообще хоть пробовал читать, что он пишет? Ты в смысл написанного никогда не пробовал вникать? Попробуй, хоть раз в жизни. Что он пишет? Cначала всякий бред, а по теме САМОГО вопроса -
как грамотно завести для вошедшего собственную сессию
выдаёт
Мои слова в код думаю обличить не сложно.
Суперценный ответ.
А дальше вообще, безо всякой связи с предыдущим - просто ляпает про сессии в базе.
И ты тут начинаешь рассказывать, что он тебя понял. при том, что он на вопрос, на сам твой вопрос, не ответил НИЧЕГО. Я не знаю, кто из вас больший дурак.

-~{}~ 29.05.05 09:08:

Почти уверен, что проблему можно решить стандартным набором фунций работы с сессиями.
не пробовал этот список почитать? Самостоятельно.
или тебе нужна персональная читалка, которая бы за тебя ман читала?
 

SeaGull

Junior Member
Фанат
Lamer_Scorp предложил хранить ID сессии и IP в базе и перед каждым стартом сессии проверять наличие такой связки. Если соответствия нет - заводить новый SID. Если забыть о работающих через один прокси, то это могло бы сработать. Но, как я уже написал, напрягать базу не хочется.

тебе нужна персональная читалка, которая бы за тебя ман читала?
Нет, мне нужна помощь в вышеописанном вопросе.
 

Фанат

oncle terrible
Команда форума
Lamer_Scorp предложил хранить ID сессии и IP в базе
чем это принципиально отличается от хранения IP в сессии?
мне нужна помощь в вышеописанном вопросе.
Вот и получи её путём чтения списка фунций работы с сессиями.
Если возникнут проблемы при реализации - велкам с вопросами.
 

SeaGull

Junior Member
>> Lamer_Scorp предложил хранить ID сессии и IP в базе
чем это принципиально отличается от хранения IP в сессии?
Насколько я понимаю, отличается тем, что сверку можно произвести до вызова session_start(). Впрочем, как ты уже двоекратно заметил, в вопросах работы сессий я не силен.

Вот и получи её путём чтения списка фунций работы с сессиями.
Я никогда не тревожу людей, если могу решить проблему сам. В данном случае из чтения мануала я не понял, как мне решить мою задачу. Оттого и обратился на форум.
 

SiMM

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

Фанат

oncle terrible
Команда форума
SeaGull
ты пробовал закрыть сессию, сгенерировать новый айди и стартовать вновь?
Ны пробовал перезагрузить страницу с параметром, говорящим о том, что сессию надо стартовать с другим айди?
 

refer

Guest
я так полагаю никто не удосужился почитать sessions.php из phpBB. и ведения по базе, и куки, и все проверки. там все это уже есть.

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

SeaGull

Junior Member
Фанат
Ны пробовал перезагрузить страницу с параметром, говорящим о том, что сессию надо стартовать с другим айди?
Да, вариант. Спасибо.
Хотя, по-моему, у такой системы есть шанс напороться на запрещение браузеру рефреша страниц на уровне хедеров. В Опере, кажется, есть такая галочка. И у каких-нибудь баннеро-резалок наверное тоже.

ты пробовал закрыть сессию, сгенерировать новый айди и стартовать вновь?
Это я, в идеале, и хотел бы сделать, но не разобрался, как закрыть сессию, не убив её. Session_destroy(), как я понял, не мой случай. Может session_write_close() ?
 
Сверху