• 13-02-2022, 16:47:13
    #1
    Selamlar projede standart bir login sistemi kullanıyorum fakat sql login açığı oluşuyor bunu nasıl fixleyebilirim

    bypass değişkeni : ' or ''='
    if(isset($_POST['girisyap'])){
    if($_POST["numara"] == "" || $_POST["password"] == ""){
    header('location: /giris-yap/?hata=bos');
    }else{
    $numara = md5(htmlspecialchars($_POST["numara"]));    
    $password = md5(htmlspecialchars($_POST["password"])); 
    
    
    $kontrolsql = "SELECT * FROM yonetici WHERE numara = '$numara' and sifre = '$password' ";
    $sonucsqlvarmi = $conn->query($kontrolsql);
    $varmı = mysqli_num_rows($sonucsqlvarmi);
    
    if ($varmı == "1") {
        echo "var";
    }else{
        echo "yok";
    }
    
    }
  • Kabul Edilen Cevap
  • 13-02-2022, 16:50:48
    #2
    parameterized query yazarak bununda yolu prepared statement dan geçiyor php de
  • 13-02-2022, 16:52:02
    #3
    https://stackoverflow.com/questions/...jection-in-php burada daha detaylı bulabilirsiniz 2.tavsiye olarak mysqli yi tercih etmeyin birazcık daha hızlı ama pdo daha güvenli
  • 13-02-2022, 16:52:58
    #4
    Bu cevap, moderatörlerimiz tarafından kabul edilebilir bir cevap olarak işaretlendi.
    Fonksiyon eklemesi yapabilirsiniz;
    <?php function koruma($k) { if(preg_match("/[\-]{2,}|[;]|[']|[\\\*]/",$k)) { echo ''; exit; } else { echo ''; }
    }
    ///koruma($_POST["girisyap "]); //şeklinde fonksiyonu isteklerinizde kullanmayı unutmayın.
    ?>
    BKNZ: https://layer.web.tr/php/02/php-sql-...ion-guvenligi/
  • 13-02-2022, 16:55:35
    #5
    T13R adlı üyeden alıntı: mesajı görüntüle
    Fonksiyon eklemesi yapabilirsiniz;
    <?php function koruma($k) { if(preg_match("/[\-]{2,}|[;]|[']|[\\\*]/",$k)) { echo ''; exit; } else { echo ''; }
    }
    ///koruma($_GET["girisyap "]); //şeklinde fonksiyonu isteklerinizde kullanmayı unutmayın.
    ?>
    BKNZ: https://layer.web.tr/php/02/php-sql-injection-guvenligi/

    evet hocam fonksiyonu kullanarak zararlı olabilecek karakterleri engelledim teşekkür ederim sorun çözüldü
  • 13-02-2022, 16:55:59
    #6
    qeraizmir adlı üyeden alıntı: mesajı görüntüle
    https://stackoverflow.com/questions/...jection-in-php burada daha detaylı bulabilirsiniz 2.tavsiye olarak mysqli yi tercih etmeyin birazcık daha hızlı ama pdo daha güvenli
    Teşekkürler hocam sizede