Çerezler devre dışı olduğunda nasıl PHP seans çalışır?

4 Cevap php

Ben bu mekanizmayı araştırma ama sadece ipuçları bulmak için denedim ve bunlar çok tutarlı değil. Nasıl oturum _id tarayıcısına gönderilen ve nasıl tarayıcı kullanıcı yeni bir sayfa istediğinde dönmek için talimat?

Teşekkürler, Chris

4 Cevap

PHP 2 şeyler yapacağız:

  • Fazladan bir GET parametresi, genellikle PHPSESSID geçmek için tüm bağlantılar yeniden ama bu php.ini içinde session.name ayarlayarak değiştirilebilir
  • Tüm <form> açtıktan etiketlerinin sonra aynı adla bir gizli giriş katacak.

Bunu yapmak için tehlikeli bir şey olduğunu unutmayın çünkü örneğin kimse copy / Bir PHPSESSID parametre sitede giriş oturumu paylaşmak mümkün olacak içeren bir URL yapıştırın - web sunucusu size link gönderdi kişiden farklı olduğunu söylüyorum kolay bir yol vardır ...

PHP'nin kendi oturum modülü (çerezler) yanında GET ve POST verileri session id getiriliyor destekler. Sen http://uk.php.net/manual/en/session.configuration.php#ini.session.use-trans-sid kullanabilir ve http://uk.php.net/manual/en/session.configuration.php#ini.url-rewriter.tags php id iletilmesini halledeyim. Ama her durumda akılda tutmak size daha büyük olasılıkla bazı kullanıcıların kazara onların (geçerli) session id vermek bulunuyor kimliği taşımak için GET kullanarak konum, özellikle eğer.

Yatan mekanizma how session id sunucuya istemciden nakledildi umursamıyor. Sürece session_id için "doğru" değerini geçmek gibi () bu iş olacak - Eğer oturum kimliği için bir araç olarak etag başlığını kötüye gibi garip bir şey (? Aptal) yapmak bile ;-)

Oturumlar bu UID dayalı her ziyaretçi ve mağaza değişkenler için eşsiz bir id (UID) oluşturarak çalışır. UID ya, (1) bir çerez saklanan ya da (2) URL yayılır.