PHP sesison ele geçirilmesine önlemek, bu iyi bir fikir mi?

3 Cevap php

Ben küçük bir site için basit bir alışveriş sepeti yapıyorum.

Ben oturum değişkenleri user_id yapman yanı sıra sepeti öğeleri saklamak için planlıyoruz.

işler biraz daha güvenli hale getirmek için, ben bunu düşündüm:

  1. sha1 () oturumda saklamadan önce User_id.

  2. Ayrıca sha1 () ve biraz tuz ile HTTP_USER_AGENT VAR saklamak ve user_id ile birlikte bu kontrol edin.

Ben birden yapabilirim orada olduğunu biliyorum, ama bu en azından doğru biraz yardımcı düşündüm? ve bana uygulamak için kolaydır.

3 Cevap

Ben kaçırma ne demek oturumu yanlış yorumlarlar düşünüyorum. İlk fikir tüm oturum ele önlemek için görünmüyor.

Ne zaman oturumu kaçırmak, birinin oturum kimliğini çalmak ve bu session id gibi davranarak. Kullanıcı herhangi bir gerçek oturum verileri değiştirmek mümkün değil, bu yüzden / hash şey şifrelemek eğer bunu erişmek mümkün olmayacak gibi gerçekten, önemli değil.

Ne yapmak isteyebilirsiniz oturumda IP ve kullanıcı aracısı dizesini depolamak ve kullanıcının her sayfa yük üzerinde giriş açıklamadan önce bunu kontrol etmektir. IP ve User Agent uymazsa, şans (Eh, en azından User Agent aynı olduğundan emin olun) Eğer oturum onları istemi gerekir vardır

Ben bu en azından doğru biraz yardımcı düşündüm?

Gerçekten değil. User_id muhtemelen zaten oturumun parçası olduğu bir user_id karma hiçbir şey yapmaz.

Bir IP veya UA karma ve maç gerektiren da size ciddi erişilebilirlik zorluklara neden olur doğrulama zayıf şeklidir. Vekalet kullanıcılar farklı bir adresten her zaman gelebilir; kullanıcılar düzenli değişen dinamik bir IP adresine sahip olabilir; Tek bir IP, birçok gerçek müşteriler temsil edebilir. Bütün bu çözer daha fazla sorunlara neden olur.

Her durumda, bu hiçbiri IP ve UA olacak hem de maçı tamamen XSRF saldırılara karşı bir şey yapmıyor. this question, anti-XSRF stratejilerinin bazı tartışmalar için bkz.

Genellikle oturum kaçırma bir birey genellikle verileri bir istemci tarafı ikamesi yoluyla, başka oturuma erişmeye çalıştığında bu kavramı ifade eder.

Örnekte, kişi X twitter.com bir giriş formunu doldurur. Twitter.com bir tanımlama X kişi gönderir. Kişi Y, paket snoops ve elle Bu oturum kaçırma Lütfen onlar oturum öğrenmek için kendi tarayıcısı ve ziyaretler twitter.com içine çerez ekler.

Sonra sana bir link http://www.blah.com/?phpsessid=1234 vermek ve daha sonra oraya gitmek ve giriş dua, URL PHPSESSID fark değil nerede oturum belirleme yoktur. Bunu yaparsanız, ve site (her zaman izin devlet değişikliği gerektiği gibi), daha sonra korsan şimdi blah.com /? PHPSESSID = 1234 ziyaret edebilirsiniz oturum kimliğini yeniden yoktur ve onlar olarak oturum edilecektir. Bu şekilde onlar sana verdi olanlar vardı çünkü session id snoop yoktu.

Burada araştırma için bir astar olabilir inanıyorum temel PHP oturum ele önlenmesi bilgi ile mükemmel bir sitedir.

http://phpsec.org/projects/guide/4.html