Установите cookie на нескольких доменах с помощью PHP или JavaScript.

У меня есть 3 домена, которые одинаковы. Если кто-то выбирает другую тему, я хочу, чтобы она распространялась по всем 3 доменам, поэтому их опыт остается прежним.

Я планировал выполнить это, установив файл cookie в домене1, перенаправляя домен 2, где установлен файл cookie, перенаправляется в домен 3, где установлен файл cookie, перенаправляется обратно. Поскольку информация не должна быть защищенной или защищенной, это будет работать нормально, без реальных проблем.

Я ненавижу идею 3 перенаправления, чтобы установить cookie в каждом домене и искал что-то более элегантное.

Ответ 1

Сделайте то, что делает 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()">

setcookie.php

Мы устанавливаем файлы cookie в других доменах, используя файл PHP, например:

<?php
if(isset($_GET['theme'])){
   setcookie("theme", $_GET['theme'], time()+3600);
}
?>

Теперь файлы cookie устанавливаются в доменах три.

Источник - Мой блог

Ответ 2

Вы можете включить два других домена в iFrames. Для получения дополнительной информации найдите "сторонние файлы cookie". Однако в зависимости от настроек браузера пользователь может не принимать сторонние файлы cookie. Здесь есть несколько других идей: Какой ваш любимый подход к совместному использованию cookie для перекрестных доменов?