Передача сесси(куки) между разными доменами

Chese

Guest
Передача сесси(куки) между разными доменами

Есть 1 физический сайт на который ссылаются множества доменнов domain1.ru domain2.ru qwe.domain1.ru ...
Передача между domain1.ru и qwe.domain1.ru понятна в cookie domain устанавливаем в .domain1.ru.
А как передать между domain1.ru и domain2.ru?
Что бы если пользователь авторизовавшись на domain1.ru был авторизован и на domain2.ru.
Простановка session name и session id в формах и сылках на 100% не спасает, пользователь может авторизовавшись на domain1.ru вручную набрать domain2.ru и перейти. Куки из domain1.ru не устанавливаются для domain2.ru. Есть ли какое то решение???
 

P.Anton

Новичок
дык куки работают в рамках одного домена... для безопасности

-~{}~ 29.07.05 10:32:

через куки вряд ли что-то получится
 

antson

Новичок
Партнер клуба
как вариант
попробуй положить имидж или невидимый фрейм
на каждом домене, ссылающийся на другой.

упрощенно
после авторизации на domain1
<img src=domain2/autologin.php?user=vasy&hashpas=blabla>

в autologin.php
поставить куку с user,hashpas от имени domain2
вернуть хедер картики
создать имидж 1 на 1
вывести ее

-~{}~ 29.07.05 10:49:

недостаток может осесть в кеше прокси.

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

-~{}~ 29.07.05 10:52:

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

Chese

Guest
Вот рабочий вариант, может кому пригодится.
<div style="display: none">
<img width="1" height="1" name="server1.ru" src="http://server1.ru/img.php?PHPSESSID=1a4c317b34ceb2fa75143ab49ac4159f" />
<iframe name="buffer0" src="about:blank" style="width:0px; height:0px; overflow:hidden; border:none;"></iframe>
<form action="http://server1.ru/img.php" target="buffer0" method="get" id="RedirectForm0" name="RedirectForm0">
<input type="hidden" name="PHPSESSID" value="1a4c317b34ceb2fa75143ab49ac4159f" />
</form>
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">document.forms['RedirectForm0'].submit()</SCRIPT>
.......
</div>
Т.к. физически домены находятся на одном сервере то мне надо только передать ИД сессии, и этот блок генерится только если нет $_COOKIE["PHPSESSID"]
 

Chese

Guest
Но это опять же не 100% вариант, если у пользователя оключены и картинки и JS то не сработает :(
 

Chese

Guest
Тады так.
<div style="display: none">
<img width="1" height="1" name="server1.ru" src="http://server1.ru/img.php?PHPSESSID=1a4c317b34ceb2fa75143ab49ac4159f" />
<SCRIPT LANGUAGE="JavaScript" src="http://server1.ru/img.php?PHPSESSID=1a4c317b34ceb2fa75143ab49ac4159f"TYPE="text/javascript">SCRIPT>
......server2.ru......server3.ru......
</div>
Как пердлагалась там не сработает.
 
Сверху