Владимир Ф.
1322 сообщения
#15 лет назад
Lisio,
В файле фрейма невидимого отдавал заголовки
header ('P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"');

и на самой странице, откуда к этим фреймам обращался
<meta http-equiv="P3P" content='CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"' />
Евгений О.
263 сообщения
#15 лет назад
Цитата ("Lisio"):
Пытался реализовать двумя, практически аналогичными между собой, способами: через iframe и через img. В обоих случаях стабильно работает в Firefox и Chrome, а в остальных браузерах не срабатывает. Подозреваю, что из-за внутренней безопасности самих браузеров.


Вы бы поделились, по каким причинам оно не работает в остальных браузерах: или браузер обнаруживает какую-то ошибку или Ваш сервер не признает authhash, который Вы в него пихаете, или еще какая-то причина. Возможно, у Вас сложилась тривиальна ситуация гонок браузер-сервер и причина ошибки совершенно в другом месте.

Цитата ("Lisio"):
Какие варианты еще можно придумать?


Если Вам обязательно надо авторизироваться на N доменах используя для аутентификации только один из них, то имеет смысл применить метод (или технологию - не знаю как сказать, чтобы не обидеть изобретателей) OAuth. Это выглядит так (на примере одного проекта, который я недавно сделал, аутентификация выполняется на сайте myspace.com):

    * Неаутентифицированный браузер обращается к Вашему сайту, к любой странице;
    * Браузер перенаправляется на страницу Login сайта myspace.com;
    * Пользователь вводит имена и пароли, по нажатии кнопки login, myspace проверяет пароли и логины и перенаправляет браузер обратно на ту страницу сайта, к которой было сделано первоначальное обращение;
    * Уже авторизированый пользователь продолжает работу с сайтом;
    * Если на шаге 1 браузер уже был ранее аутентифицирован сайтом myspace.com (например пользователь прилогинился к myspace из другого окна браузера), то никаких паролей и логинов не спрашивается, браузер авторизируется и просто показывает запрошенную страницу.

Конечно, эта "технология" ничего нового не предлагает - аутентификация/авторизация на самом деле выполняется посредством все того-же механизма SessionID (каковой, впрочем, принципиально не отличается от механизма cookies), в OAuth все это формализованно, усложненно до полной непонятности и имеются готовые библиотеки как для клиента, так и для сервера - собственно, одной из таких библиотек я и воспользовался и в тонкости реализации не вдавался.

Второй вариант - уже применительно к Вашей задаче - это размещать локализованные страницы сайта не на разных доменах, а в разных директориях одного домена, например, si.te/en, si.te/de и т.д. При обращении, например, к si.te/en простое правило mod_rewrite переписывает этот URL в, например, si.te?lang=en, дальше Ваш сайт выбирает нужную версию страницы и, перед выдачей, обрабатывает ее в соответствии с правилами локализации "en": заменяет знак денежной единицы, формат даты, подставляет динамические поля на нужном языке и т.д.
Дмитрий Василец
70 сообщений
#15 лет назад
Один из примеров реализации которые стоит использовать в данном случае
Андрей К.
1172 сообщения
#15 лет назад
Цитата ("SField"):
А в каких не работает?




тестил на Опере, Хроме, ФФ и IE

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

Цитата ("vovan_f"):
В файле фрейма невидимого отдавал заголовки
Код:
1header ('P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"';

и на самой странице, откуда к этим фреймам обращался
Код:
1<meta http-equiv="P3P" content='CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"' />

Понятия не имею, что это, но заработало в осле. Спасибо!
Теперь остается еще для Opera и Safari сделать.

Цитата ("Illarion_SA"):
Вы бы поделились, по каким причинам оно не работает в остальных браузерах: или браузер обнаруживает какую-то ошибку или Ваш сервер не признает authhash, который Вы в него пихаете, или еще какая-то причина. Возможно, у Вас сложилась тривиальна ситуация гонок браузер-сервер и причина ошибки совершенно в другом месте.

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

На все остальное отвечу одним комментом: надо решить задачу использую только свой сервер, только свои домены и только функционал apache, php и js.