![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| godsgame |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 241 Регистрация: 29.8.2005 Репутация: нет Всего: нет |
Я помню, что, где-то на этом форуме видел подобный топик, но найти не смог
Проблема такая: Я хочу сделать так, чтоб в мою игру нельзя было зайти с 2-х окон. Как такое сделать. В БК сделано так: Когда заходишь со второго окна, он практически моментально выкидывает на главную первое окно. Как это реализовано? Буду рад любому линку |
|||
|
||||
| fregs |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 25.11.2004 Репутация: нет Всего: 1 |
godsgame
куки+ид сессии... если авторизация записать значение сессии в куку... перед любым действием в окне проверяем это значение(в бк еще и по таймеру оно проверяется) если ид сессии совпадает с записанной в куке, то разрешаем действие, нет выкидываем на авторизацию |
|||
|
||||
| godsgame |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 241 Регистрация: 29.8.2005 Репутация: нет Всего: нет |
fregs
Про таймер это понятно, например при обновление чата заодно проверяет... Обязательно использовать Куки+Сесии или можно обойтись только чем-нить одним из этого? Хочу уточнить одну деталь: 1) ИД сессии каждый раз другой? (т.е когда мы логинимся с другого окна он другой?) 2) Значение записанное в куку всегда одно и тоже? Т.е если мы запрашиваем куку из одного окна так:
И из второго так же, то значение $_COOKIES["session_id"] останется как и в предыдущем случае, а значение $_SESSION["session_id"] - будет ИД текущей сессии, присвоеной при логине? я все правильно понял? Можно ли эту проверку сделать с помощью JS? (я не силен в JS, поэтому спрашиваю) |
|||
|
||||
| fregs |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 25.11.2004 Репутация: нет Всего: 1 |
только связка.... обнули куку и тебе придется авторизоваться заново
если делать через js то тебе явно придется передавать session_id(впрочем неважно, его и так можно вычислить)
по второму не совсем понял(выпил абсенту уже туго соображаю в общем суть... открыл одно окно(а1) авторизовался в куку записалось значение сессии, в базу записали - пользователь онлайн ид сесии такое то открыл другое(а2) если авторизовался - новая сессия, то в куку запишется новое значение...в базу записали - пользователь онлайн ид сесии такое то... если попробуешь сделать в первом окне действие требующее авторизации(ну допустим написать в чат), то проверка куки выкинет на авторизацию(сессия то другая записана)... код изучал только бк-шный, но думаю решение универсальное и для таймзеро и территории Это сообщение отредактировал(а) fregs - 21.11.2005, 18:14 |
|||
|
||||
| godsgame |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 241 Регистрация: 29.8.2005 Репутация: нет Всего: нет |
fregs
я так и понял, только ИД сессии в базу наверно не обязательно записывать? Добавлено @ 19:16 если не лень, напиши тот кусок кода (на ПХП - который я привел выше) на JS... |
|||
|
||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
А разве кука между окнами на один и тот же ресурс (URL идеентичное) не одна и та же? В смсыле авторизовался в одном окне, рандомная строка в куке и в сессии, юзер открыл новое окно, скопировал URL, зашёл сразу без авторизации, для сервака никакой разницы...
Xотя не помню точно, если поставить куке время жизни в 0, то возможно она не будет видна из другого окна... -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| godsgame |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 241 Регистрация: 29.8.2005 Репутация: нет Всего: нет |
Sardar
хмм... буду тщательней проверять, спасибо, что сказал. |
|||
|
||||
| fregs |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 25.11.2004 Репутация: нет Всего: 1 |
Sardar имеется ввиду заход двумя персонажами...(ну или попытка авторизоваться одним но дважды)
как только мы входим вторым, первого выкинет на авторизацию при любом действии... в куке записано другое значение сессии... по ссылке с рабочего окна мы хоть 10 одинаковых окон откроем... |
|||
|
||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Интересно получилось, IE не рассшаривает куку между окнами, даже если URL одинаковое если время жизни куки нулевое (т.е. до закрытия окна), если же выставить время, то кука становиться общая между окнами в одном домене/пути, это согласно стандарту.
В мозилле кука общя между окнами если URL одинаковое. Тестим: http://sardar.vingrad.ru/vingradattaches/c...ssion/index.php Открываем окно, открываеться сессия, ставиться кука пользователю. Перезагружаем окно, видим как с куку получили, сессия продолжает жить. Копируем URL, открываем новое окно, загружаем, раздумываем над ситуацией Дважды авторизоваться сложно, возможно только если логин-скрипт криво написан, т.к. если сессия существует, то логин скрипт должен кидать юзера на другие страницы, без повторной авторизации. Выход унижтожает сессию, тогда и только тогда можно авторизоваться вновь. -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| Ciber SLasH |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1813 Регистрация: 9.11.2004 Где: С.-Петербург Репутация: 24 Всего: 67 |
[offtop]
2Sardar: Хм, а прикольно FireFox с расширением "Tabbrowser Extensions" ведёт себя при открытии твоей ссылки — открыл один раз вкладку с ссылкой, при открытии второй вкладки огнелис говорит, что мол эта ссылка уже открыта в предыдущей вкладке и не открывает страницу снова. [/offtop] |
|||
|
||||
| fregs |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 25.11.2004 Репутация: нет Всего: 1 |
Sardar
так а чего странного то? открыл, записал ид сессии... так как сессия хранится в куках, то при перегрузке страницы или создании окна ид не меняется(если мы не изменим это значение насильственным путем) |
|||
|
||||
| godsgame |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 241 Регистрация: 29.8.2005 Репутация: нет Всего: нет |
есть еще вариант: Проверять открытые окна на Caption - синяя полоска там где крестик.
Т.е если например окон с таким Caption ДВА или больше: "Godsgame - Главное окно - Internet Explorer", то значит выкидывать, правда если пользователь захочет создать свою страничку с
то в моей игре его выкинет, что не есть гут |
|||
|
||||
| fregs |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 25.11.2004 Репутация: нет Всего: 1 |
godsgame
ты уж точнее определи задачу, а то меня уже запутал полностью... то ли можно пользователю 2 окна открывать, то ли нельзя... то ли это связано с авторизацией, то ли не связано... |
|||
|
||||
| godsgame |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 241 Регистрация: 29.8.2005 Репутация: нет Всего: нет |
не получается:
Кукисы меняются не глабально, а только в рамках текущего открытого окна... делаю так:
Добавлено @ 15:37 т.е я думал что при присвоении, - кукисы изменятся для уже открытого окна тоже, а они оказались не изманны... для только что зашедшего персонажа: 0ecea9019e6df6e89d557d60e39d48ff для персонажа, который уже зашел до этого: d5c4dce527f8c38078bb99e626c17234 они не равны. что я не так делаю? |
|||
|
||||
| godsgame |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 241 Регистрация: 29.8.2005 Репутация: нет Всего: нет |
помогите плиз
|
|||
|
||||
![]()
|
| Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |