Bildiğinizi biliyorum; yine bütünlük amacıyla yazıyorum.
Benim anladığım amaç, tıklamakta olan kişiyi tanımak ve bu oturum sırasında gelişmekte olan durumu korumak. (Hatta kullanıcıyla ilgili hiç kaybolmayacak bilgiler de saklanabilir. Örneğin belirli bir liste sayfasında kaç satır görmek istediği gibi bir ayar...)
CGI programları çok kısa ömürlü: kullanıcıdan tek tık alıyoruz, sayfayı oluşturuyoruz, ve sonlanıyoruz. Amacımız bu sırada gelişmekte olan kullanıcı durumunu saklamak.
Örneğin bir sitede iki önceki sayfada adresini almışsak biz bunu bu oturum sırasında unutmamalıyız. Daha sonraki bir sayfadaki adres bilgisini otomatik olarak doldurabilmeliyiz.
Daha önce tarayıcıya verdiğimiz ve bize geri gelen çerez, kişiyi tanımaya yetiyor (sid - "session id"). Geri kalan bilgiyi sunucu tarafında bulmamız gerek. Yani oturumun durumunu saklamalıyız:
-
Bir dosyaya yazmak
-
Veri tabanına yazmak
-
Sürekli olarak çalışan (daemon) bir programda saklamak
-
Bir Apache modülünde saklamak
-
Aklıma gelmeyen başka bir şekillerde saklamak
(Daha önce de konuştuğumuz gibi, başka bir yöntem de sayfa içindeki gizli bir alanda saklamaktır.)
Ali
Not: Bu olaya girince sunucuyu çeşitli saldırılara da açmış oluyoruz. En basitinden, bizden çıkan belge içindeki çerezi gören birisi sunucuya o çerezle gelebilir ve asıl kullanıcının yerine geçebilir. Ama o ayrı konu... :)
--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]