Her zaman değil. Çerezleri kullanarak iyisiniz. Ancak "mevcut kimliğe güvenli bir şekilde güvenebilir miyim?" Tartışmayı önemli bir nokta ile genişletmeye çağırdı (çoğunlukla referans olarak, bu sayfanın ziyaretçi sayısı oldukça yüksek göründüğü için).
PHP, oturumları çerezler yerine URL yeniden yazma yoluyla sürdürecek şekilde yapılandırılabilir. ( Ne kadar iyi veya kötü (<- örneğin en üste bakınız) ayrı bir soru , şimdi sadece bir yan notla şu anki soruya bakalım: URL tabanlı oturumlarda en belirgin sorun - açık Çıplak oturum kimliğinin görünürlüğü - dahili Ajax çağrılarıyla ilgili bir sorun değildir; ancak sonra, Ajax için açıksa, sitenin geri kalanı için de açılır, bu yüzden orada ...)
URL yeniden yazma (cookieless) oturumlarında, Ajax çağrıları , istek URL'lerinin düzgün bir şekilde hazırlandığına dikkat etmelidir . (Ya da kendi özel çözümünüzü oluşturabilirsiniz. İstemci tarafında , daha az talepkar durumlarda oturumların sürdürülmesine bile başvurabilirsiniz .) Buradaki nokta, çerezleri kullanmıyorsa oturum sürekliliği için gereken açık bakımdır :
Ajax sadece ararsa özü URL'ler (PHP alınan gibi) HTML kelimesi kelimesine zaten pişer gibi, yani sorun olmaz (umm, cookified).
İstek URI'lerini kendileri bir araya getirmeleri gerekiyorsa , oturum kimliğinin URL'ye manuel olarak eklenmesi gerekir. ( Nasıl yapıldığını görmek için burayı veya PHP tarafından oluşturulan sayfa kaynaklarını ( URL yeniden yazma açıkken ) kontrol edin.)
Gönderen OWASP.org :
Etkili bir şekilde, web uygulaması hem mekanizmaları, çerezleri hem de URL parametrelerini kullanabilir veya hatta belirli koşullar karşılanırsa (örneğin, çerez desteği olmayan web istemcilerinin varlığı veya çerezler karşılanmadığında) birinden diğerine geçebilir (otomatik URL yeniden yazma) kullanıcının gizlilik endişeleri nedeniyle kabul edilir).
Bir itibaren Yakut-forum sonrası:
Php çerezleri ile kullanıldığında, oturum kimliği Ajax XMLHttpRequests için bile istek başlıklarına otomatik olarak gönderilir. URL tabanlı php oturumlarını kullanır veya bunlara izin verirseniz, oturum kimliğini her Ajax istek URL'sine eklemeniz gerekir.
HttpOnly
bir çerez ayarlarken bir bayrak ayarlayabilir, bu da Javascript'inizin çerezi göremeyeceği anlamına gelir. Ancak çerez olacak hala AJAX ve düzenli sayfa istekleri ikisi için gönderilecek ve tam olarak işe aynı devam ediyor. Javascriptiniz bunu görmeyecekdocument.cookie
.