У меня 3 домена, которые одинаковы. Если кто-то выбирает другую тему, я хочу, чтобы она распространялась по всем 3 доменам, поэтому их опыт остается прежним.
Я планировал выполнить это, установив файл cookie в домене1, перенаправляя домен 2, где установлен файл cookie, перенаправляется в домен 3, где установлен файл cookie, перенаправляется обратно. Поскольку информация не должна быть безопасной или защищенной, это будет работать нормально, без реальных проблем.
Я ненавижу идею 3 перенаправления, чтобы установить cookie в каждом домене и искал что-то более элегантное.
Делайте то, что делает Google. Да, Google делает тот же трюк, чтобы войти в систему на YouTube и другие сервисы Google, которые находятся в разных доменах.
Создайте файл PHP, который устанавливает cookie на всех 3 доменах. Затем в домене, где будет задана тема, создайте файл HTML, который будет загружать файл PHP, который устанавливает cookie на 2 доменах. Пример:
<html> <head></head> <body> <p>Please wait.....</p> <img src="http://domain2.com/setcookie.php?theme=whateveryourthemehere" /> <img src="http://domain3.com/setcookie.php?theme=whateveryourthemehere" /> </body> </html>
Затем добавьте обратный вызов onload в теге body . Документ загружается только при полной загрузке изображений, когда файлы cookie устанавливаются на других доменах 2. Onload Callback:
<head> <script> function loadComplete(){ window.location="http://domain1.com";//URL of domain1 } </script> </head> <body onload="loadComplete()">
Мы устанавливаем файлы cookie на другие домены, используя файл PHP, например:
<?php if(isset($_GET['theme'])){ setcookie("theme", $_GET['theme'], time()+3600); } ?>
Теперь файлы cookie устанавливаются на трех доменах.
Источник – мой блог
Вы можете включить другие два домена в iFrames. Для получения дополнительной информации найдите «сторонние файлы cookie». Однако в зависимости от настроек браузера пользователь может не принимать сторонние файлы cookie. Здесь есть несколько других идей: Каков ваш любимый подход к совместному использованию cookie для перекрестных доменов?