Session kontrol
Arkadaşlar burada _SESSION dolu mu boş mu diye bir giriş kontrolü yaptırıyorum fakat bunun bir açığı olur mu karşı taraf _SESSİON içinde ["useruid"] kontrol ettirdiğimi öğrenebilir mi? Kontrolü dolu mu boş mu diye yaptırdığım için _SESSION ["useruid"]'içerisine herhangi bir değer atayıp girmesini istemediğimiz yere girebilir mi?
<?php
if(!isset($_SESSION["useruid"])){
}
else
{
header("location: ../index.php");
exit();
}
?>
?>
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (6)
1- sorunu lütfen küçük harflerle sor.
2- karşı taraf nasıl session oluşturuyor senin sunucunda bana bir anlatsana? bildiğin bir güvenlik açığı varsa bizi de aydınlat, ben hayatımda öyle bir şey duymadım çünkü.
senin dediğin session id'yi bir şekilde ele geçirirlerse giriş yapmış gibi görünürler benzeri bir açık olabilir, o da xss açığın olmadığı sürece bir problem yaşamazsın. Dikkatli kod yazmna yeterli.
Bu konuları daha iyi kavramak için direkt olarak kendin deneyip öğrenmelisin. Google'a php çerezler yaz atıyorum, türkçe kaynaklar çıkar, bu konudaki bir yazılı kaynaktan, kullanılan kodlara bakarak kendi kodlarını yaz. Çerezler ve session konusu çok güzel, eğlenceli ve basit konulardır. Mantığını kavrarsan hızlı öğrenirsin. Session id konusunda alman gereken bir önlem yok. Bir problem yaşamazsın. Zaten her kullanıcının session id bilgisim PHPSESSID çerezine atanır. Bu zaten engellenmez. Kodlarına dışardan veri alırken açık yaratma ihtimalini düşünerek önlem alırsın. Dışarıdan aldığın değeri yazdırıyorsan, veritabanına yolluyorsan, dosya oluşturuyorsan, birtakım kontrollerden geçiririrsin. Session konusunda ek bir önlem yapmana gerek yok şimdilik. Çok üst düzey gereksiz görüyorum.
Çok teşekkür ederim hocam çünkü yeni başladım kafamı gerçekten cok karıştırdı eğer böyle bi erişim söz konusuymuş gibi anlatılıyor sitede böyle bişeye erişim kontrolü olsaydı herşey allak bullak olur diyorum kendi kendime bi yandanda adam böyle anlatıyor ve daha yeni başladım iyice yaktı beynimi,Çok teşekkür ederim.Session çalınma riskini nasıl ortadan kaldırırım şuan Session konusundayım çerezlere gelmedim Çerezler hakkında en ufak bir bilgim yok bunlar için bir kaynak var mı acaba sizinde tavsiye edeceğiniz.Çünkü azıcık bilgisi olan video cekiyor hiç bişey anlatmadan copy+paste yapınca kodları böyle insanların beyni yanıyor şimdiden teşekkür ederim.
Videoda aşırı amatörce bir anlatım var. Çok yanlış bir bilgi veriliyor. Session başlatıp session adına değer atadığı php sayfasına zaten kodlayan adamın yazma yetkisi var. Yani şöyle söyleyeyim, adam kendi sessionını manipüle etmek için yine kendi sitesindeki bir php sayfasına kod yazıyor. Dışardan gelen hiçbir şey sessionu etkiyelemez. Tabi hocamızın da dediği gibi session id çalınır sızdırılırsa ayrı. Ya da çerez kullanılırsa site dışında siteye çerez atamak eklentilerle çok kolay. Ama elinde tuttuğun session ismine istersen username de istersen kullaniciadi. İstediğin ismi vermekte özgürsün. Birileri benim sessionumu manipüle eder mi diye düşünme. Buna kimse etki edemez.
Kusura bakmayın hocam büyük harflerle yazdığım için Bir video'da izledim Dahada yeni başladığım için php'ye
kafam oldukça karıştı https://www.youtube.com/watch?v=mVUBAoPSYIE şu video'da test.php oluşturup tekrar _SESSION İçerisine bir
değer atayıp giriş yapabiliyor girmesini istemediğimiz bir yere bi başkası bunu yapabilir mi ki?