Sign in to follow this  
Zzz_

$_SESSION создается 2 COOKIE

Recommended Posts

snimok.png

Сессию открываю на domain.ru, нужно прочитать данные на one.domain.ru

а там создается уже другая COOKIE.

как быть?

т.е как сделать одну сессию для domain.ru и one.domain.ru?

Share this post


Link to post
Share on other sites

одну сессию никак ни сделать для one.domain.ru и domain.ru - это два разных сайта

можно сделать общую авторизацию на одном из этих доменов на вроде того как это делается через google, vk, mail....

Share this post


Link to post
Share on other sites

Задать домен в параметрах печеньки с точкой .domain.ru, и общий путь.

Тогда на всех поддоменах будет работать одна кука.

Edited by Radiocity

Share this post


Link to post
Share on other sites

Задать домен в параметрах печеньки с точкой .domain.ru, и общий путь.

Тогда на всех поддоменах будет работать одна кука.

так кука  сессии создается автоматически??

 

одну сессию никак ни сделать для one.domain.ru и domain.ru - это два разных сайта

можно сделать общую авторизацию на одном из этих доменов на вроде того как это делается через google, vk, mail....

Можно немного поподробнее?? где прочитать хотя бы??

Share this post


Link to post
Share on other sites

Печенька для сессии не создается автоматически. Смотрите код.

И хранить SESSION ID в куки в открытом виде не безопасно.

Edited by Radiocity

Share this post


Link to post
Share on other sites

Печенька для сессии не создается автоматически. Смотрите код.

И хранить SESSION ID в куки в открытом виде не безопасно.

а где лучше хранить? и как?

Edited by Zzz_

Share this post


Link to post
Share on other sites

Печенька для сессии не создается автоматически. Смотрите код.

И хранить SESSION ID в куки в открытом виде не безопасно.

При session_start() вроде не приходится создавать кукки с ID сессии

так же есть такой параметр session.auto_start, который позволяет избежать и этого

не замечал, чтобы кука сессии была как-то мега круто защищена по умолчанию

Печенька для сессии не создается автоматически. Смотрите код.

И хранить SESSION ID в куки в открытом виде не безопасно.

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

Если ТС делает свою реализацию сессии через установку хэша в куках, то нужно указывать .domain.ru как сказал Radiocity

иначе делаете на domain.ru авторизацию и создаете запись всех данных сессии в файл/базу привязанную к хэш и сессии, хэш можно записать в куки для всех поддоменов. При обнаружении хэша мы получаем требуемые данные из файла/базы.

Если данный трюк не понравится, можно сделать следующим образом:

При входе на любой из поддоменов, например sub.domain.ru будет создаваться своя сессия, если она пустая нам нужно сделать запрос на domain.ru название скрипта может быть вроде /session.php. Если, обратившись по данному скрипту, будет обнаружена сессия, то возвращается хэш, который мы заносим в куки и в последствии можем получать данные из файла/базы.

можно придумать и другие способы

Share this post


Link to post
Share on other sites

session.cookie_domain = ".domain.ru"

 

в php.ini добавил, на первое время решит проблему, но с точки зрения защищенности нужно что-нибудь придумать.

Это уже другой вопрос) СПАСИБО!

Edited by Zzz_

Share this post


Link to post
Share on other sites

Стоп!!!!

Cookie создалась одна!!!

но 2 файла СЕССИИ!!!

что не так??

как получить доступ к файлу который создался на domain.ru

Share this post


Link to post
Share on other sites

в php.ini добавил, на первое время решит проблему, но с точки зрения защищенности нужно что-нибудь придумать.

Это уже другой вопрос) СПАСИБО!

 

Просто кодируете идентификатор сессии в печеньке, а при запросе декодируете. Если в сессии не хранится приватная информация, то можно даже не беспокоиться.

Share this post


Link to post
Share on other sites
            session_start();            // Удаляем куки сессии,            setcookie(session_name(), session_id(), time()-60*60*24);            // Удаляем сессию            session_unset();            session_destroy();

удаляет cookie, но Google Chrome не удаляет

snimok1.png

Как быть?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Member Statistics

    46,330
    Total Members
    3,128
    Most Online
    TimofejUS
    Newest Member
    TimofejUS
    Joined
  • Recently Browsing   0 members

    No registered users viewing this page.