Thread overview
February 16, 2011

session(oturum) sistemi nasıl çalışıyor? Bunu d ile nasıl yazabiliriz...

Ben D ile yazılmış şöyle bir kod gördüm:


import std.file;
struct Session {
	this(Cgi cgi) {
		sid = "test.sid";

		cgi.setCookie("arsd_sid", sid);
	}

	void loadFromFile() {
		if(exists("/tmp/arsd-cgi-session-" ~ sid)) {

		}
	}

	void saveToFile() {
		std.file.write("/tmp/arsd-cgi-session-" ~ sid,

		);
	}

	~this() {
		saveToFile();
	}

	@disable this(this) { }

	string sid;
	string[string] session;
}

Bizde onun gibi mi yapacağız? Yani normal bir dosyada cookie'yi tutacağız. tmp olursa tabiki pek normal bir dosya olmamış oluyor sanırım.

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

February 16, 2011

bunu ben yaparim.

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

February 16, 2011

Campai :-P

Geriye bir şey kaldımı cgi için. Yoksa ben yavaştan veritabanı binding(iliştirici - bağlayıcı)leri yükleyeyim?

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

February 16, 2011

Alıntı:

>

Geriye bir şey kaldımı cgi için. Yoksa ben yavaştan veritabanı binding(iliştirici - bağlayıcı)leri yükleyeyim?

Sanırım header modülü yazılacaktı ve ona göre cookie modülü ayrıca yazılacaktı değil mi? Hatta bunu Ali Bey yazacaktı değil mi :-D

Bunla ilgili tartışıyorduk sanırım. Yeni bir başlık altında mı tartışalım?

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

February 16, 2011

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. ]

February 16, 2011

Yihhuuu! Terkedilmemişiz! Havai fişekler! vs. :-p

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

February 16, 2011

Yeni başlıklar çok iyidir. Cookie'lerin oturumlarla yakın ilgileri var. Mengü'nün ne düşündüğünü öğrenmemiz gerek.

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

March 11, 2011

selamlar

bu oturum modulunu yazacagim ben, ancak suan gece gunduz doluyum, o yuzden baslamadim bile. :)

oturumlar ikiye ayriliyor, birincisi disk uzerinde tutulan oturum, ikincisi veritabaninda tutulan oturum. bizde her ikisi de olacak ancak evvela disk uzerinde tutulan oturumu halledecegiz nitekim suan herhangi bir veritabani baglayicisi yazmis degiliz.

oturumlar nasil calisir? her oturuma essiz bir id verilir ve bu id cookie'de tutulur. oturum idsine gore kontrol edilir ve nerede tutuluyorsa bilgiler alinir, uzerinde tepinilir.

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

March 11, 2011

Alıntı (Mengu):

>

suan herhangi bir veritabani baglayicisi yazmis degiliz.

Sanırım githubta mysql ve sqlite için bağlayıcı vardı.

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

March 11, 2011

Peki güvenlikle ilgili bilgisi olan var mı? Trafiği izleyen birisi bizim çerezi kullanarak araya girebilir. Yoksa https mi yeterli oluyor?

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]