Php Güvenlik Kodu Kontrolü
-
Bilen ve yardımcı olmayan arkadaşlara teşekkürler edip biraz rüzgar yapmışsın ama biraz sabır, dün açılmış konu. Malum hafta sonu, insanlar bizim burada açtığımız konulara yanıt vermek için esas duruşta beklemiyor.
Diğer yandan kodda güvenlik zaafiyeti var. Aslında biraz da bu sebeple framework falan öneriyor arkadaşlar.
Zaafiyete gelirsek; form ile gönderilen değeri $_SESSION['alam_captcha'] ile karşılaştırdıktan sonra doğruysa işleme onay veriyorsun, güzel. Ancak $_SESSION['alam_captcha']'daki değer oturum zaman aşımına uğramadıkça orada kalmaya devam edecek.
Bu bana mevcut oturumum ile o captcha resmini bir kereye mahsus görüntüleyip, sonrasında o oturum çerezini kullanarak istediğim gibi flood yapma imkanı sağlıyor.
Bunu engellemek için kontrol en basit haliyle şunun gibi olmalı:
if($_POST['gokod'] == $_SESSION['alam_captcha'])
{
unset($_SESSION['alam_captcha']); // oturum değişkenini silelim
// buraya güvenlik kodu doğruysa çalışmasını istediğimiz kodları yazıyoruz
}Kolay gelsin.
-
buzukatak bunu yazdı
Bilen ve yardımcı olmayan arkadaşlara teşekkürler edip biraz rüzgar yapmışsın ama biraz sabır, dün açılmış konu. Malum hafta sonu, insanlar bizim burada açtığımız konulara yanıt vermek için esas duruşta beklemiyor.
Diğer yandan kodda güvenlik zaafiyeti var. Aslında biraz da bu sebeple framework falan öneriyor arkadaşlar.
Zaafiyete gelirsek; form ile gönderilen değeri $_SESSION['alam_captcha'] ile karşılaştırdıktan sonra doğruysa işleme onay veriyorsun, güzel. Ancak $_SESSION['alam_captcha']'daki değer oturum zaman aşımına uğramadıkça orada kalmaya devam edecek.
Bu bana mevcut oturumum ile o captcha resmini bir kereye mahsus görüntüleyip, sonrasında o oturum çerezini kullanarak istediğim gibi flood yapma imkanı sağlıyor.
Bunu engellemek için kontrol en basit haliyle şunun gibi olmalı:
if($_POST['gokod'] == $_SESSION['alam_captcha'])
{
unset($_SESSION['alam_captcha']); // oturum değişkenini silelim
// buraya güvenlik kodu doğruysa çalışmasını istediğimiz kodları yazıyoruz
}Kolay gelsin.
Üstad alınmana gerek yok. Verdiğin öneri için teşekkürler. Varsa başka önerileriniz herzaman dinlerim üstad.
Saygılar