Кросс-доменные Cookie

    Рассмотри случай когда у вас есть несколько поддоменов на одном сервере. Нам нужно чтобы сессия хранилась на сервере и читалась всем скриптами на разных поддоменах.Это возможно сделать несколькими путями:
    1) Переставить домен куки для сессия перед началом сессии:
    session_set_cookie_params(0 , '/', '.site.ru');<br>session_start();<br>2) Переставить куки после создания сесси, и перед каждым началом сессии вызывать её название.
    <br>if (isset($_COOKIE['PHPSESSID'])) {<br> setcookie("PHPSESSID", $_COOKIE['PHPSESSID'], 0, "/", '.site.ru');<br> session_name($_COOKIE['PHPSESSID']);<br>} else {<br> session_start();<br>}<br>?><br>3) Открыть php.ini и явным образом указать там
    session.cookie_domain = '.site.ru';Последний вариант будет работать для разных сайтов, не являющимися поддоменам одного и того же сервера.
    Поделиться публикацией
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 5

      0
      Ещё для надёжности надо бы использовать P3P для IE, что бы возможно было ставить куку из iframe или при подключении скрипта или картинки.

      http://www.sitepoint.com/article/p3p-cookies-ie6/2

      Это пригодится для сервисов, которые позволяют генерить капчи и проверять результаты
        0
        как раз у хабра с этим проблемы
          0
          создается копия печенек на каждом поддомене:

            0
            Хотя нет, погорячился я с выводами — данные отличаются.
              0
              хм… можно же просто .habrahabr.ru поставить и будет на всех поддоменах.

        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

        Самое читаемое