Oturum değişkenleri (giriş) aptal olabilir?

4 Cevap php

IN PHP: Is there a way for the user to fake a session variable?

Bir giriş sistemi için bir oturum değişkeni değeri güven güvenli midir?

4 Cevap

Evet .. Bu oturumu Demirci / kaçırmak deniyor.

Eğer başka bir kullanıcı oturum almak kadar oturum çerezinin değerini değiştirmek.

Oturum verileri sunucu üzerinde saklanır. Sadece session id istemci ve sunucu arasında ileri ve geri aktarılır. Bir sunucu tarafı komut dosyası işler karışıyor (ya da bir hata var) olmadıkça istemci doğrudan oturum verileri değiştiremezsiniz. Ama bunu belirli bir oturum için bu özel müşteri bağları olarak sadece "doğru" müşteri, session id bilir sağlamak zorunda. Örneğin (Eğer bir giriş söz beri) session fixation bir giriş (girişimi) önlemek için yapılır session_regenerate_id() zaman kullanmak

Oturumlar bir dosyaya veya bellek ya, sunucu üzerinde saklanır. Kullanıcı sadece sunucu üzerinde oturum verilerine yolunu (bazı formu genellikle karma) tanımlayan bir çerez tutar. Teorik başkasının karma çerez değişebilir, ancak dosyaları olarak saklamak ve onlar eski oturumu istismar birinin olasılığı artacaktır, bu durumda süresi dolduktan sonra onları silmeyin sürece, çok, çok imkansız olduğunu.

Sunucu oturum verilerini depolamak önlemek için, sign içerik oturumda saklamadan önce, değişimden korumak, ve sonra sadece oturumu alma sonra doğrulamak istiyor olabilir. PHP bu süreç reasonable simple ve sunucu depolama sorunlarını ortadan kaldırır.

Bu görselleştirilirken oturum verilerini korumak değildir dikkat edin. Bu koruma gerekiyorsa, hala güvenli şifreleme kullanarak sunucu depolama önleyebilirsiniz. Sadece anahtar boyutuna göre hemen hemen her şifreleme şeması yakın gelecekte üzerinde kırılmış olabilir dikkatli olun. 5 yıl, diyelim için oturum verilerini korumak gerekir Yani, anahtar ve algoritmanın güvenli seçim performans sorunları yaratabilir.