За последние 24 часа нас посетили 22767 программистов и 1258 роботов. Сейчас ищут 735 программистов ...

Защита от инъекций

Тема в разделе "PHP для профи", создана пользователем АртемГород, 10 авг 2017.

Метки:
  1. АртемГород

    АртемГород Новичок

    С нами с:
    10 май 2017
    Сообщения:
    8
    Симпатии:
    0
    Форумчане привет, попала в руки одна функция, утверждают, что помогает от инъекций, но вот вызова функции нет, может кто-то испольует, подкажет как ее вызвать
    PHP:
    1. <?php //
    2. function check_text($text) {
    3.       $arraysql = array('UNION','SELECT','OUTFILE','LOAD_FILE','GROUP BY','ORDER BY','INFORMATION_SCHEMA.TABLES','BENCHMARK','FLOOR','SLEEP','CHAR');
    4.       $replacesql ='';
    5.       $text2=$text;
    6.       $text2=mb_strtoupper($text2);
    7.       $text2=str_replace($arraysql, $replacesql, $text2,$count);
    8.       if($count!=0){ echo "Ошибка, сработала защита.<br>Подозрение на SQL inj или XXS "; exit;}
    9.      
    10.       $array_find = array("'",'"','/**/','0x','/*','--');
    11.       $array_replace ='';
    12.       $text=str_replace($array_find, $array_replace, $text);
    13.     return $text;
    14. }
    15. foreach($_GET as $i => $value){ $_GET[$i]=check_text($_GET[$i]);}
    16. foreach($_POST as $i => $value){ $_POST[$i]=check_text($_POST[$i]);}
    17. foreach($_COOKIE as $i => $value){ $_COOKIE[$i]=check_text($_COOKIE[$i]);}
    18.  
    19. ?>
     
  2. Ganzal

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

    С нами с:
    15 мар 2007
    Сообщения:
    9.902
    Симпатии:
    969
    Для защиты от инъекций есть готовые инструменты. Вот этот велосипед просто уродует данные, особо не включая голову.
     
    Васяня, Maputo, denis01 и ещё 1-му нравится это.
  3. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.155
    Симпатии:
    1.769
    Адрес:
    :сердА
    эээ...слово select типа вообще использовать нельзя?
    --- Добавлено ---
    Функция плохая. Юзать ее не надо. Пользы никакой.
    --- Добавлено ---
    Чтобы было понятнее - если бы эта "защита" стояла тут на форуме, ты бы не смог написать свой пост. Тупо вот не смог бы. Это было бы подозрением на инъекцию.
     
  4. Maputo

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

    С нами с:
    30 июл 2015
    Сообщения:
    1.136
    Симпатии:
    173
    А кто инъекции пишет капсом? Эта функция не сработает на реальной инъекции.
     
  5. denis01

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

    С нами с:
    9 дек 2014
    Сообщения:
    12.230
    Симпатии:
    1.715
    Адрес:
    Молдова, г.Кишинёв
  6. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.155
    Симпатии:
    1.769
    Адрес:
    :сердА
    Ну так там же текст типа во временную переменную кидается, потом к капсу приводится. И потом сравнивается. Все продумано! Специалисты делали!
     
    #6 Fell-x27, 10 авг 2017
    Последнее редактирование: 10 авг 2017
    Maputo нравится это.
  7. Maputo

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

    С нами с:
    30 июл 2015
    Сообщения:
    1.136
    Симпатии:
    173
    @Fell-x27, да. Я потом заметил. Согласен с @Ganzal, что текст понапрасну модифицируется.
     
  8. mkramer

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

    С нами с:
    20 июн 2012
    Сообщения:
    8.555
    Симпатии:
    1.754
  9. manchot

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

    С нами с:
    2 дек 2015
    Сообщения:
    34
    Симпатии:
    5
    А чем PDO не угодило?
     
  10. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.155
    Симпатии:
    1.769
    Адрес:
    :сердА