За последние 24 часа нас посетили 26712 программистов и 1819 роботов. Сейчас ищут 953 программиста ...

MYSQL дыра..

Тема в разделе "PHP для новичков", создана пользователем Kela, 7 фев 2017.

  1. Kela

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

    С нами с:
    20 дек 2014
    Сообщения:
    84
    Симпатии:
    1
    Привет всем. есть код. Говорят в функции которую я добавил, есть дыра.. подскажите такая имеется? если да то как прикрыть?
    Код (PHP):
    1. $_POST['login_name'] = <<HTML
    2. '; truncate dle_users; select '
    3. HTML;
    Я добавил проверку ника(email или нет) и вытаскивание method(а) из бд
    Код (PHP):
    1.     $_POST['login_name'] = $db->safesql( $_POST['login_name'] );
    2.     $_POST['login_password'] = @md5( $_POST['login_password'] );
    3.  
    4.  
    5. if (filter_var($_POST['login_name'], FILTER_VALIDATE_EMAIL)) {
    6. $where_method = "email='{$_POST['login_name']}'";
    7. }else{
    8. $where_method = "name='{$_POST['login_name']}'";
    9. }
    10.  
    11. $method = $db->super_query( "SELECT method FROM " . USERPREFIX . "_users WHERE {$where_method}" );
    12.     if ($method['method']) {
    13.  
    14.         if ( preg_match( "/[\||\'|\<|\>|\"|\!|\?|\$|\/|\\\|\&\~\*\+]/", $_POST['login_name']) ) $allow_user = false;
    15.         $where_name = "email='{$_POST['login_name']}'";
    16.  
    17.     } else {
    18.  
    19.         if ( preg_match( "/[\||\'|\<|\>|\"|\!|\?|\$|\@|\/|\\\|\&\~\*\+]/", $_POST['login_name']) ) $allow_user = false;
    20.         $where_name = "name='{$_POST['login_name']}'";
    21.  
    22.     }
     
  2. abrdabr

    abrdabr Новичок

    С нами с:
    28 янв 2017
    Сообщения:
    774
    Симпатии:
    65
    @Kela ты про то что используются необработаные $_POST? те при значении ' пхп вернёт ошибку
     
  3. Kela

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

    С нами с:
    20 дек 2014
    Сообщения:
    84
    Симпатии:
    1
    Как обработать?
    --- Добавлено ---
    htmlspecialchars ?
     
  4. alexblack

    alexblack Старожил

    С нами с:
    20 янв 2016
    Сообщения:
    640
    Симпатии:
    381
  5. abrdabr

    abrdabr Новичок

    С нами с:
    28 янв 2017
    Сообщения:
    774
    Симпатии:
    65
    @Kela я бы исспользовал addcsslashes