• 13-11-2022, 21:15:33
    #1
    Merhabalar, engelle.php için get ile veri ekleme yapacağım. Mesela 25 id li üyeyi engellemek için engelle.php?id=25 şeklinde get oluşturacağım. Burada ne gibi açıklar olabilir ve nasıl güvenli hale getirebilirim?
  • 13-11-2022, 21:38:12
    #2
    Google captcha kullanabilirsin, captcha keyi ve idyi forma gönderirsin formda keyi kontrol edip işlemi yapar veya direk return edersin
  • 13-11-2022, 21:46:39
    #3
    aliumac adlı üyeden alıntı: mesajı görüntüle
    Google captcha kullanabilirsin, captcha keyi ve idyi forma gönderirsin formda keyi kontrol edip işlemi yapar veya direk return edersin
    Form şeklinde değilde link şeklinde olacak yani mesela:
    <a href="engelle.php?id=25">Engelle</a>
    Şeklinde olacak engelleye basınca direkt linke yönlendirip çalıştıracak.
  • 13-11-2022, 21:54:15
    #4
    Mustafa1379 adlı üyeden alıntı: mesajı görüntüle
    Form şeklinde değilde link şeklinde olacak yani mesela:
    <a href="engelle.php?id=25">Engelle</a>
    Şeklinde olacak engelleye basınca direkt linke yönlendirip çalıştıracak.
    Kesinlikle güvenlik zaafı yaratacaktır
  • 13-11-2022, 21:56:02
    #5
    İsteğin kimden geldiğini engelle.php sayfasında kontrol etmezsen 10 yaşındaki çocuk bile curl isteği atarak tüm kullanıcılarını banlayabilir.
    Önerilerim get yerine post kullan, düz id yerine uuid kullan, yapılan isteğin site içinden geldiğini kontrol et, yapılan isteğin admin tarafından yapıldığını kontrol et.
  • 13-11-2022, 22:02:26
    #6
    Misafir adlı üyeden alıntı: mesajı görüntüle
    İsteğin kimden geldiğini engelle.php sayfasında kontrol etmezsen 10 yaşındaki çocuk bile curl isteği atarak tüm kullanıcılarını banlayabilir.
    Önerilerim get yerine post kullan, düz id yerine uuid kullan, yapılan isteğin site içinden geldiğini kontrol et, yapılan isteğin admin tarafından yapıldığını kontrol et.
    Engelle.php sayfasına yönlendirildiğinde oturum açık mi diye kontrol ediliyor açıksa engelleyen oturum sahibi engellenen get ile gelen id oluyor. Buna ek olarak get ile token göndersem yine güvenlik açığı olur mu?
  • 13-11-2022, 23:11:54
    #7
    Mustafa1379 adlı üyeden alıntı: mesajı görüntüle
    Engelle.php sayfasına yönlendirildiğinde oturum açık mi diye kontrol ediliyor açıksa engelleyen oturum sahibi engellenen get ile gelen id oluyor. Buna ek olarak get ile token göndersem yine güvenlik açığı olur mu?
    Token guvenli bir sekilde olusturulduysa, taklit edilemiyorsa en onemli guvenlik acigi kapanmis olur. Ama eger guvenlige cok onem veriyorsan diger dediklerimi yapmanda da fayda var.
    • Mustafa1379
    Mustafa1379 bunu beğendi.
    1 kişi bunu beğendi.
  • 13-11-2022, 23:18:31
    #8
    Misafir adlı üyeden alıntı: mesajı görüntüle
    Token guvenli bir sekilde olusturulduysa, taklit edilemiyorsa en onemli guvenlik acigi kapanmis olur. Ama eger guvenlige cok onem veriyorsan diger dediklerimi yapmanda da fayda var.
    Teşekkürler, normalde post kullanacaktım ama post etmek için buton gerekiyor ve butonda tasarımda kötü gözüküyor bu yüzden link olması gerekiyor linke token da ekleyeceğim ve zaten oturum açık mi diye de kontrol edeceğim.
  • 14-11-2022, 20:47:03
    #9
    yorumları okuyunca dondum kaldım. cahillik tamamda yarı cahillik başa bela.
    intval kontrolu ile hiçbir güvenlik açığı olmaz.
    engelle.php?id=25 olarak varsayıyorum
    if(isset($_GET['id']) && intval($_GET['id'])>0){
    //bu kontrolden sonra intval($_GET['id']) olarak gonul rahatlığıyla kullanabilirsiniz.
    // örnek vermek gerekirse : $db değişkenini mysql bağlantınız olarak varsayıyorum.
    $db->where( 'id', intval($_GET['id']) )->update('tablo', [
    'deger' => 'r10',
    'durum' => 1
    ]);
    }
    bu kontrolleri daha kolay yapabilmeniz için
    https://github.com/Wixel/GUMP kullanmanızı tavsiye ederim.
    kolaylıklar.