Arkadaşlar merhaba, uzun süredir PHP ile proje geliştiriyorum ve son zamanlarda session yönetimi konusunda ciddi bir güvenlik açığıyla karşılaştım. Özellikle kullanıcıların oturum bilgilerini manipüle edebildiği bir durum tespit ettim. Session ID'lerin tahmin edilebilir olması veya sabitlenebilir olması (session fixation) gibi sorunlarla uğraşıyorum. Normalde session_start() ile başlatıp basitçe kullanıyordum ama bu kadar kolay atlatılabileceğini düşünmemiştim. Sizce bu tür saldırılara karşı en etkili çözüm nedir? Özellikle session ID'yi her istekte yenilemek yeterli mi, yoksa ekstra önlemler almak mı gerek?
Kendi projemde denediğim bazı yöntemler var ama tam emin değilim. Örneğin, login işleminden sonra session_regenerate_id(true) kullanıyorum, ayrıca session timeout süresini kısa tutup kullanıcı aktivitesine göre uzatıyorum. Fakat yine de session hijacking riski devam ediyor gibi hissediyorum. Bir de session verilerini sunucu tarafında değil de veritabanında tutmayı düşündüm ama bu performansı çok etkiler mi? Özellikle yüksek trafikli bir sitede bu yaklaşım mantıklı mı? Siz ne gibi önlemler alıyorsunuz? Deneyimlerinizi merak ediyorum.
Son olarak, session güvenliğini artırmak için başka hangi teknikleri uygulamalıyım? Örneğin, kullanıcının IP adresini veya User-Agent bilgisini session ile eşleştirmek ne kadar sağlıklı? Bu bilgiler dinamik olduğu için sorun çıkarabilir mi? Bir de HTTPS zorunluluğu ve cookie ayarlarını HttpOnly ile sınırlamak dışında aklıma gelen başka bir şey yok. Sizlerin bu konuda önerilerinizi ve varsa karşılaştığınız benzer sorunları duymak isterim. Herkese şimdiden teşekkürler.
Kendi projemde denediğim bazı yöntemler var ama tam emin değilim. Örneğin, login işleminden sonra session_regenerate_id(true) kullanıyorum, ayrıca session timeout süresini kısa tutup kullanıcı aktivitesine göre uzatıyorum. Fakat yine de session hijacking riski devam ediyor gibi hissediyorum. Bir de session verilerini sunucu tarafında değil de veritabanında tutmayı düşündüm ama bu performansı çok etkiler mi? Özellikle yüksek trafikli bir sitede bu yaklaşım mantıklı mı? Siz ne gibi önlemler alıyorsunuz? Deneyimlerinizi merak ediyorum.
Son olarak, session güvenliğini artırmak için başka hangi teknikleri uygulamalıyım? Örneğin, kullanıcının IP adresini veya User-Agent bilgisini session ile eşleştirmek ne kadar sağlıklı? Bu bilgiler dinamik olduğu için sorun çıkarabilir mi? Bir de HTTPS zorunluluğu ve cookie ayarlarını HttpOnly ile sınırlamak dışında aklıma gelen başka bir şey yok. Sizlerin bu konuda önerilerinizi ve varsa karşılaştığınız benzer sorunları duymak isterim. Herkese şimdiden teşekkürler.