Уязвим к инъекциям SQL - PullRequest
       11

Уязвим к инъекциям SQL

0 голосов
/ 20 марта 2019

Я делаю проект по поиску уязвимого кода.Является ли этот фрагмент кода уязвимым для SQL-инъекций?

if(ISSET ($_POST['login'])){
    $username = $_POST['username'];
    $password = $_POST['password'];
    $query = $conn->query("SELECT * FROM `admin` WHERE `username` = '$username' && `password` = '$password'") or die(mysqli_error());

1 Ответ

0 голосов
/ 20 марта 2019

Да.Лучше использовать параметризованный режим запросов Mysqli.

<?php

    if (isset($_POST['user']) && isset ($_POST['pass'])) {

        $user = mysql_real_escape_string ($_POST['user']),
        $pass = mysql_real_escape_string ($_POST['pass']);
        $conn = new mysqli("$db_host", "$db_user", "$db_pass", "$db");
        $sql = "select * from admin where username=? and password=?";
        $cmd = $conn->prepare($sql);
        $cmd->bind_param("ss", $user, $pass);
        $cmd->execute();
         ......
         ......
    else {
        echo "Username and password cant not be null !";
    }
?>
...