Merhabalar. İnternette satılan üyelik sistemlerine baktım. Çoğu %100 güvenlik vs. sloganlarla tanıtıyor scriptlerini.
PDO kullanan bir sistemin ne gibi açıkları olabilir? Formdan gelen veriyi post ederek giriş, kayıt yapabilen, Kayıt olurken captcha kontrolu yapan, 3 hatalı girişten sonra captcha gösteren bir sistem yeteince güvenli midir?
Ek olarak nasıl güvenlik önlemleri alınabilir?
[?] Daha Güvenli Üyelik Sistemleri
6
●1.409
- 30-08-2014, 00:54:54teknik değilde mantık olarak bahsediyorsanız,
captchaya ek olarak 3-5 kere yanlış girildiğinde ilgili ip ye 15-20 dk ban atılabilir. ayrıca üyelerin şifrelerini sha1 md5 gibi algoritmalarla bir kaç kere süzerek ve birşeyler ekleyerek veritabanına şifreli kaydedebilirsiniz. Üye kayıt ve login dışında ise şifremi unuttum kısmınada ekstra önlemler almalısınız en çok hesap çalmaları zaten şifremi unuttum kısmından yapılıyordur. şifremi unuttum kısmı için ekstra bir güvenlik sorusu yada mobil onay vb işlemler yapılabilir. - 30-08-2014, 01:06:13en sağlamı şuan için banka sistemleri gibi gözüküyor.
girişte müşteri numarası ve şifre soruyor
ardından telefona sms geliyor.
belli süre hareketlilik olmayan hesap otomatik olarak logout oluyor falan.
bu kadarı aşırı gelirse sms olayını ip bazlı yapabilirsin.
son giriş yapılan ip adresi değişmiş ise sms onayı istersin.
yok sms falan kasar diyorsan facebook tarzı cihaz ekleme sistemi yaparsın.
belli cihaz bilgilerini hafızada tutarsın. kullanıcı yeni cihazdan giriş yapmak isterse önce o cihazı eklemesini istersin.
ekli değilse giriş bilgileri doğru bile olsa giremez vs. vs. - 30-08-2014, 01:54:20Ben kendi sistemimi anlatayım.
Zaten standart olan bir çok şeyi yapmışsınız.
Ama yaptıklarınız sql injection ve brutte force için işe yarar.
Ben bunun üzerine session çalmaya karşı şu yöntemi kullanıyorum.
Kullanıcı girişinde $_SESSION değerine ip adresi, browser bilgisinin md5 li halini yazıyorum. Ve her sayfa sorgulamada browser ve ip nin teyitini yapıyorum, eğer browser ya da ip adresi değişirse log out yapıyorum. Bir de ek olarak timeout diye bir session tutuyorum, aralıksız 10 dakika işlem yapmazsa logout yapıyorum, 10 dakika içindeki her sayfa yenilemede timeout u 10 dakika ileriye öteliyorum.
Bunun dışında girişte ülke ya da şehir ile ilgili bir geolocation bilgisi alınıp veritabanında tutulabilir. Aynı gün içinde değişik ülke veya şehirlerden giriş yapıldığında hesap askıya alınabilir. - 30-08-2014, 13:28:17"Kullanıcıya güvenmeyin. Aşırı paranoyak olmayın. Input filtrelenir, output escape edilir."

http://aristona.github.io/web-gelist...reken-konular/
Örnek siteleri inceleyebilirsiniz ama kullanıcıyı da çok sıkarsanız şifre onay şifre onay diyerek bu durumda kullanıcıyı sitenizden soğutabilir.
