Nasıl PHP oturumları çalışır?

2 Cevap php

Oturum dosyaları genellikle /tmp/ sunucu üzerinde, diyelim ki, depolanır ve adlandırılır sess_{session_id}. Ben içeriğine bakarak olmuştur ve nasıl gerçekten işe anlamaya olamaz.

Dosyadan değişken adı ve içerik alma kolaydır. Ama nasıl PHP ne oturumu kime ait biliyor?

Session_id tamamen rastgele görünüyor ve bir IP adresleri birçok kullanıcı var ve onlar birden fazla tarayıcı penceresi açmak varsa her kullanıcı çeşitli oturumlar olabilir.

Peki nasıl çalışır?

2 Cevap

Genel durum:

  • onun oturum oluşturulduğunda session id kullanıcıya gönderilir.
  • Bir çerez saklanır (varsayılan olarak adlandırılan, PHPSESSID)
  • bu tanımlama, her isteği ile sunucuya tarayıcı tarafından gönderilen
  • sunucusu (PHP) o kullanıcıya karşılık gelen dosya bilmek, session_id içeren, bu çerez kullanır.

Oturumları dosyaları veri tefrika, $_SESSION içeriğidir (ie, represented as a string -- with a function such as serialize) ; dosya $_SESSION dizi doldurmak için, PHP tarafından yüklendiğinde ve un-tefrika olduğunu.


Sometimes, the session id is not stored in a cookie, but sent in URLs, too -- but that's quite rare, nowadays.


For more informations, you can take a look at the Session Handling section of the manual, that gives some useful informations.

Ve hangi konfigürasyon seçenekleri Bu etkiler - Örneğin, bir çerez veya URL'leri kullanarak, session id sayfa sayfa geçirilen anlatıyor Passing the Session ID ile ilgili bir sayfa vardır.

Oturum kimliği gerçekten rastgele ve yapılandırmasına bağlı olarak, bir tanımlama veya URL geçirilir. Zaten bazı URL'ler bu PHPSESSID = xxxx görmüş olabilir, çok bu isimde bir çerez var.