Php oturumları alt etki alanları için üzerinde taşımak için izin

5 Cevap php

Ben tüm kullanıcı verileri için (session id cookie dışında değil kurabiye,) php oturumları kullanın ve bir kullanıcı profili user.mydomain.com gittiğinde onlar e kadar sonra subdomain kaldırın "çıktınız" hemen vardır.

Sürece onun *. Mydomain.com olarak tüm etki oturumları kabul etmek için bir yolu var mı

5 Cevap

İşte 3 seçenek vardır.

Php.ini bu yerleştirin:

session.cookie_domain = ".example.com"

. Senin htaccess in:

php_value session.cookie_domain .example.com

Lütfen komut ilk şey olarak:

ini_set('session.cookie_domain', '.example.com' );
        if(isset($_COOKIE['session_id']))
            session_id($_COOKIE['session_id']);
        Zend_Session::start(); //or session_start();
        if(!isset($_COOKIE['session_id']))
            setcookie('session_id', session_id(), 0, '/', '.yourdomain.com');

Güvenlik Eğer benim gibi eksik ya da kötü cevaplar gibi sinirli iseniz, bu sizin kurtarıcı olduğunu, kahrolsun. Bu sadece çalışır.

Ben bu oldukça eski olduğunu biliyorum - ama daha CtT önerisi @ genişletmek için - Ben aşağıdaki metni ile benim subdomain (php kodu yürütme ve oturumu gerektirir olacak) her alt dizinde bir php.ini dosyası eklemek için gerekli:

suhosin.session.cryptdocroot=Off
suhosin.cookie.cryptdocroot=Off

Ben bu (bu anlamaya bana yaş aldı) yardımcı olur umarım.

Bunun ilgili olduğu gibi, çok Konuyu görmek emin olun:

http://stackoverflow.com/questions/348282/php-cookie-domain-subdomain-control

if(isset($_COOKIE['session_id']))
    session_id($_COOKIE['session_id']);
    Zend_Session::start(); //or session_start();

    if(!isset($_COOKIE['session_id']))
        setcookie('session_id', session_id(), 0, '/', '.yourdomain.com');

Bu iyi bir çözüm olduğunu, ancak tüm durumlarda kullanamazsınız. Sen-oturum çerezleri dayanmaz zaman örnekler için bu iş olmaz.

This actually MUST work if you use it correctly. ini_set('session.cookie_domain', '.example.com' );

Örneğin session_start çağrı tüm dosyaları da önce session_start koymak () ve gerek ()