Hadi bunun üzerinden geçelim:
Çerezler ve oturumlar , tarayıcının yaptığı farklı istekler arasında uygulamanın durumunu korumanın her iki yoludur. Onlar sayesinde, örneğin, StackOverflow'da her sayfa talep ettiğinizde oturum açmanıza gerek kalmaz.
Kurabiye
Çerezler, verileri bir anahtar = değer çiftlerinde tutan küçük veri bitleridir (maksimum 4KB uzunluğunda):
name=value
Bunlar ya JavaScript tarafından ya da bir HTTP başlığı kullanılarak sunucu üzerinden ayarlanır .
Çerezler, bir son kullanma tarih saat kümesine sahiptir, örneğin HTTP başlıkları kullanılarak:
Set-Cookie: name2=value2; Expires=Wed, 19 Jun 2021 10:18:14 GMT
Bu, tarayıcının yaklaşık 9 yıl içinde süresi dolacak olan name2
değerine sahip bir çerez ayarlamasına neden olur value2
.
Çerezler , kullanıcı içeriklerini kolayca değiştirebildiği için oldukça güvensiz kabul edilir . Bu nedenle, çerez verilerini her zaman doğrulamalısınız . Bir çerezden aldığınız şeyin mutlaka beklediğiniz gibi olduğunu varsaymayın.
Çerezler genellikle tarayıcıdan bir kullanıcı adı ve özel bir hash gönderildiği ve sunucunun erişimi onaylamak için bunları veritabanında kontrol ettiği oturum açma durumunu korumak için kullanılır.
Çerezler ayrıca oturum oluşturmada sıklıkla kullanılır .
Oturumlar
Oturumlar biraz farklıdır. Her kullanıcı , doğrulama için sunucuya çerez veya GET değişkeni tarafından geri gönderilen bir oturum kimliği alır .
Oturumlar genellikle kısa sürelidir, bu da onları uygulamalar arasında geçici durumdan tasarruf etmek için ideal kılar. Oturumlar ayrıca kullanıcı tarayıcıyı kapattığında da sona erer.
Değişkenlerin kendisi sunucuda tutulduğundan, oturumlar tanımlama bilgilerinden daha güvenli kabul edilir . Şu şekilde çalışır:
- Sunucu bir oturum açar (HTTP başlığı aracılığıyla bir tanımlama bilgisi ayarlar)
- Sunucu bir oturum değişkeni belirler.
- Müşteri değişiklikleri sayfası
- Müşteri, 1. adımdaki oturum kimliğiyle birlikte tüm çerezleri gönderir.
- Sunucu, oturum kimliğini tanımlama bilgisinden okur.
- Sunucu, bir veritabanındaki (veya bellekteki vb.) Bir listeden oturum kimliğiyle eşleşir.
- Sunucu bir eşleşme bulur, artık
$_SESSION
süper küreselde mevcut olan değişkenleri okur .
PHP bir eşleşme bulamazsa, yeni bir oturum başlatır ve 1-7 arasındaki adımları tekrar eder.
Hassas bilgileri bir oturumda saklayabilirsiniz çünkü sunucuda tutulur, ancak kullanıcı, diyelim ki, güvenli olmayan bir WiFi üzerinden oturum açtıysa, oturum kimliğinin yine de çalınabileceğini unutmayın. (Bir saldırgan çerezleri koklayabilir ve kendi başına ayarlayabilir, değişkenleri görmez, ancak sunucu saldırganı kullanıcı olarak tanımlayacaktır).
İşin özü bu. Her iki konuda da PHP kılavuzu hakkında daha fazla bilgi edinebilirsiniz.