За последние 24 часа нас посетили 54658 программистов и 1719 роботов. Сейчас ищут 2119 программистов ...

mysqli и sql инъекция

Тема в разделе "PHP и базы данных", создана пользователем rs_ssh, 30 авг 2014.

  1. rs_ssh

    rs_ssh Активный пользователь

    С нами с:
    18 янв 2014
    Сообщения:
    220
    Симпатии:
    0
    mysql_real_escape_string() - будет скоро удалена, как можно защититься от sql инъекции в данном примере?
    Deprecated: mysql_real_escape_string(): The mysql extension is deprecated and will be removed in the future
    Код (Text):
    1. $var = mysql_real_escape_string($var);
    2. $result = $mysqli->query("SELECT id,name FROM `table` WHERE id='$var'");
    3. if (!$result)
    4. {
    5.        echo "<p><meta http-equiv='Content-Type' content='text/html; charset=utf-8'>Error.</p>";
    6.        exit ();
    7. }  
    8. if (mysqli_num_rows($result) > 0)
    9. {
    10.        $myrow = mysqli_fetch_array($result);
    11. }
    12. else
    13. {
    14.        echo "<p><meta http-equiv='Content-Type' content='text/html; charset=utf-8'>No info.</p>";
    15.        exit ();
    16. }
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Mysqli, PDO.
     
  3. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
    Вы смешиваете два разных подхода: используете MySQLi, но функцию взяли из старого расширения. В MySQLi есть аналогичная -
    mysqli_real_escape_string. А вообще, не плохо бы плейсхолдерами пользоваться.
     
  4. rs_ssh

    rs_ssh Активный пользователь

    С нами с:
    18 янв 2014
    Сообщения:
    220
    Симпатии:
    0
    Спасибо добрый человек :)
     
  5. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    И перейти на объектный интерфейс.