Forum Webscript.Ru

Программирование => PHP => Тема начата: Xenomorph от 20 Ноября 2002, 13:30:50

Название: Сессия на несколько сайтов
Отправлено: Xenomorph от 20 Ноября 2002, 13:30:50
Кто нибудь может мне подсказать - как сделать чтобы сессия проходила одновременно на нескольких сайтах и не терялась? Поясняю - если вы зайдете на один из сайтов компании SW Software (ASP-linux.com , ASPstreet.com , HSPstreet.com) то там можно заметить что при прохождении аутентификации на ASPpassport.com прохождение логина распространяется на несколько сайтов. Я конечно понимаю, что при нормальном заходе можно хранить в кукисах, что пользователь такой-то зашел нормально, но это не выход. У кого-нибудь есть идеи по этому поводу ????
Название: Сессия на несколько сайтов
Отправлено: Меняздесьдавнонет от 20 Ноября 2002, 14:51:15
куки - как раз не выход.
бровзер не отдаст куку чужому домену
Название: Сессия на несколько сайтов
Отправлено: Xenomorph от 20 Ноября 2002, 14:57:38
а как сделать чтоб другой домен видел сессию ? может как-нить можно создать для сессии что-то вроде списка trusted-доменов ??????
Название: Сессия на несколько сайтов
Отправлено: Меняздесьдавнонет от 20 Ноября 2002, 15:13:00
нет такого понятия в протоколе http - сессия!
есть или кука или параметр в урле
для куки ничего нельзя сделать.
параметр - ну в принципе можно добавлять для трастет доменов. Но оно тебенадо?
Название: Сессия на несколько сайтов
Отправлено: Xenomorph от 20 Ноября 2002, 15:46:29
хммм .....
интересно было бы покопаться в исходном коде asppassport.com - как они это сделали ....
Название: Сессия на несколько сайтов
Отправлено: new от 20 Ноября 2002, 20:22:43
Xenomorph
Цитировать
Кто нибудь может мне подсказать - как сделать чтобы сессия проходила одновременно на нескольких сайтах и не терялась?


Использовать предусмотренные стандартно возможности.
См. в доках session_set_save_handler() , там всё доступно описано. Само сессии можно хранить в файлах или БД, это без разницы. Ясно, что доступ к ним должен быть.
Название: Сессия на несколько сайтов
Отправлено: Xenomorph от 20 Ноября 2002, 21:53:35
ok - пусть будем сохранять сессию в БД с помощью session_set_save_handler()  .... тогда следующий вопрос - пользователь переходит на другой сайт не по ссылке, а просто открыв новое окно .... как получить доступ к id этой сессии ??? сохранить id сессии в cookie с минимальным временем жизни ????
Название: Сессия на несколько сайтов
Отправлено: new от 20 Ноября 2002, 22:05:24
Xenomorph
Цитировать
как получить доступ к id этой сессии ??? сохранить id сессии в cookie с минимальным временем жизни ????


Да, конечно ты можешь установить необходимое время "жизни" и другие параметры куков, используемых с сессией, при помощи session_get_cookie_params


.............
Добавлю - не обязательно в БД, ты можешь использовать и files, принцип один и тот же.


Вся обсуждаемая петрушка практически и разрабатывалась с учётом твоего вопроса ;)
Название: Сессия на несколько сайтов
Отправлено: Макс от 20 Ноября 2002, 22:57:37
Цитировать
сохранить id сессии в cookie с минимальным временем жизни ????
а смысл? Куки поставленные  скриптом с одного домена не могут быть получены скриптом другого домена (теоретически ;)) И тебе Ромик об этом в первом сообщении писал.

Цитировать
пользователь переходит на другой сайт не по ссылке, а просто открыв новое окно
на приведенных выше сайтах это учитывается и правильно работает? А там эта фича работает во всех броузерах? (сорри просто проверять лень :)).
Название: Сессия на несколько сайтов
Отправлено: new от 20 Ноября 2002, 23:35:03
Макс
Цитировать
А там эта фича работает во всех броузерах? (сорри просто проверять лень


Работает во всех, если куки работают (каламбур получился).
Ясное дело, что если я открыл первую страницу в IE, а потом вдруг решил пользоваться NC, то и куки будут другие и работать это не будет.
P.S. Тестировать это не нужно.


В отношении
Цитировать
Куки поставленные скриптом с одного домена не могут быть получены скриптом другого домена

Здесь не теоретически возможные варианты рассматриваются, а конкретно возможность это реализовать. Об этом же речь и не шла.
Конечно реализация "втупую" не получится, на 100% согласен.
path поможет.
Хотя проще наверное и так - "невозможно и всё" :o

// в отношении конкретной реализации (что бы закрыть вопрос) - хороший и живой пример это сайт http://www.postnuke.com с его субдоменами.
Название: Сессия на несколько сайтов
Отправлено: Макс от 21 Ноября 2002, 10:40:10
Цитировать
path поможет.

для доменных имен, которые привел Xenomorph (ASP-linux.com , ASPstreet.com , HSPstreet.com) не поможет.
Цитировать
его субдоменами
речь ишла о доменах а не субдоменах.


Цитировать
Работает во всех, если куки работают (каламбур получился).
повторяю:
Цитировать
Куки поставленные скриптом с одного домена не могут быть получены скриптом другого домена
Название: Сессия на несколько сайтов
Отправлено: Xenomorph от 21 Ноября 2002, 11:48:13
хех ....
тогда все-таки вопрос остался открытым - как передать идентификатор сессии другому домену ??????
Название: Сессия на несколько сайтов
Отправлено: Макс от 21 Ноября 2002, 14:30:19
через ссылку:
visit our site
Название: Сессия на несколько сайтов
Отправлено: Меняздесьдавнонет от 21 Ноября 2002, 17:25:57
о чем я и писал еще вчера :-)
можно и не сессию, а уник юзера.
В общем - банальные рефералы :-)))))
Название: Сессия на несколько сайтов
Отправлено: Xenomorph от 22 Ноября 2002, 11:32:12
мндяяя .....
через ссылку передать - не проблема ..... это сделать несложно ...
но надо чтобы построянно сессия длилась - даже если открываешь новое окно по ctrl-n %)
Название: Сессия на несколько сайтов
Отправлено: Меняздесьдавнонет от 22 Ноября 2002, 14:06:33
А на луну тебе бровзером слетать не надо?
какие проблемы с ctrl-n? кука тебя спасет.
Название: Сессия на несколько сайтов
Отправлено: Xenomorph от 22 Ноября 2002, 17:10:39
Цитировать
кука тебя спасет.


уже обсуждали это - по поводу отдачи браузером куки одного домена другому .....
Название: Сессия на несколько сайтов
Отправлено: Xenomorph от 22 Ноября 2002, 17:12:42
RomikChef
сам же говорил :
Цитировать
бровзер не отдаст куку чужому домену

тут самое главное как раз в том чтобы сессия держалась - а передать ее идент через урл - это не проблема .......
Название: Сессия на несколько сайтов
Отправлено: Меняздесьдавнонет от 23 Ноября 2002, 18:31:06
а у тебя по ctrl-n открывается другой домен?
Не поделишься секретом - как?
Название: Сессия на несколько сайтов
Отправлено: Xenomorph от 24 Ноября 2002, 10:48:11
RomikChef
новый домен открывается разумеется не по ctrl-n .... блин ... я имел в виду что надо передать данные другому окну браузера .... ить ... поясняю ... обычно когда открываю через ctrl-n я сразу давлю esc, чтобы остановить загрузку страницы, а потом уже собственно и набираю новый урл .... новое окно можно открыть и просто еще раз запустив ослика ie ..... весь смысл в том, чтобы сессия не терялась ..... передать id сессии через url как реферал кто угодно сможет ....
Название: Сессия на несколько сайтов
Отправлено: Меняздесьдавнонет от 24 Ноября 2002, 19:17:16
короче.
тебе рассказали, как можно передать.
Если еще что-то неясно - возьми спецификацию протокола HTTP и прочти - что в нем можно, а что нельзя.
Название: Сессия на несколько сайтов
Отправлено: Xenomorph от 13 Декабря 2002, 15:14:51
тут мне пришло письмо от автора asppassport ... цитирую ....

Как человек, писавший ASPpassport, говорю: способ очень похож на тот, что описал тов.
Макс, за исключением того, что сессии на этих сайтах не общие.
После логина на паспортный сервер сервер формирует спецпараметр, который хватается
паспортным модулем, декодится (в параметре находится user profile, заполненный
человеком при регистрации на паспортном сайте+кой-какие служебные данные - все это
закодено GNUPGой.), после чего до, чего надекодили, пишется в местную сессию, и кука
сохраняется на местном домене - на всякий случай, вдруг у вас сессия пропадет :)
При логауте соответственно дергаются в img src спецскрипты на тех сайтах, на которые
человек заходил - скрипты бьют куки.
==
Кстати, если открывать новое окно по Ctrl-N - сессия сохраняется. А вот если новый
совсем эксплорер открыть - то пиздец, да.
==
Не на форуме отвечаю - потому что бардак у вас там. :)
Вы еще бы прописку требовали, кроме регистрации. :)
Название: Сессия на несколько сайтов
Отправлено: Макс от 13 Декабря 2002, 19:09:21
Цитировать
Не на форуме отвечаю - потому что бардак у вас там.
Вы еще бы прописку требовали, кроме регистрации

[off] если посетителей никак не контроллировать, на форуме начнется бардак (материться начнут, спамить и т.д.) и регистрация вынужденный метод по их контролю. [/off]

Цитировать
GNUPG
это PGP что-ли?
Цитировать
При логауте соответственно дергаются в img src спецскрипты на тех сайтах,
то есть у тех кто работает с отключенной графикой могут быть глюки?
Название: Сессия на несколько сайтов
Отправлено: Xenomorph от 31 Декабря 2002, 13:20:11
Gnupg - это альтернатива pgp ....
http://www.gnupg.org/
только она в отличии от pgp - бесплатная ....
а вот по поводу второго - не знаю .....
Название: Сессия на несколько сайтов
Отправлено: ERge от 14 Января 2003, 18:43:44
Xenomorph фантастика...  :)
а ты уверен, что можно ходить с домена на домен без передачи идентификатора сессии в ссылке???

а такой вариант:
1) ползователь заходит на domain.ru, авторизуется... идентификатор сессии сохраняется в куках...
2) переходит на other_domain.ru по ссылке вида http://other_domain.ru/?sid=123e1rd1ef45y4h44hh55445hqwas
идентификатор сессии сохранятся в куках...
....
и т.д. и т.п.

теперь зайдя на любой из этих доменов пользователь будет авторизовываться...
Название: Сессия на несколько сайтов
Отправлено: Xenomorph от 14 Января 2003, 18:47:22
ERge
гмм ....
мы это уже обсуждали ....
одно из требований - чтобы ссылка не была как реферал ....
Название: Сессия на несколько сайтов
Отправлено: ERge от 14 Января 2003, 18:56:24
Xenomorph ээээ.... панимаешь...
PS: я сначала вторую страницу как-то не обнаружил :-D

PPS: 2 Admin - тогда убери что можно и не зарегенным юзерам писать... а то я попался... думаю, дай напишу... а тут - ваш пароль!!! :)

снова 2Xenomorph:
врубился в ту мысль которую ты до нас довел :)
вместо img src можно исопльзовать script src или и то и другое вместе :)
можно еще что-нить придумать...
Название: Сессия на несколько сайтов
Отправлено: ERge от 14 Января 2003, 18:59:35
можно флэшину пиксельную вставить....
Название: Сессия на несколько сайтов
Отправлено: Xenomorph от 14 Января 2003, 19:01:47
ERge
Цитировать
можно флэшину пиксельную вставить....

а имеет смысл ????
лучше уж script src ....
Название: Сессия на несколько сайтов
Отправлено: ERge от 14 Января 2003, 19:06:14
Xenomorph
а почему не имеет???
ты там в ActionScript че хочешь пиши... она тебе по всем твоим доменам пробежится... и т.п.

вариант номер 3, для извращенцев :)
использоваться сразу, так на всякий случай, сразу три варианта:
img src
script src
flash
будет надежнее :D

PS: правда увеличится кол-во обращений к серверу... эээ... ну это кому как ;)