1. PHP / Говнокод #17384

    +157

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    <?php
    function clear($field){
        $field = htmlspecialchars($field);
        $field = str_replace("\"","", $field);
        $field = str_replace("'","\'",$field);
     
        return $field;
    }
      if(isset($_POST['name'])){
       $name = clear($_POST['name']);
        echo $name;
      }
    ?>
    <form method="post">
     <p>you name:<br>
     <input name="name" type="text" value="">
     </p>
     <input type="submit" value="Send">
    </form>

    Прафисианналы "PHP" пишут защиту от XSS.
    Отсюда: http://mzcoding.com/php_articles/xss__csrf__ataki_i_zashhita_ot_nikh/11/

    Запостил: gost, 29 Декабря 2014

    Комментарии (17) RSS

    • В чем вообще сакральный смысл строк 4-5? Почему одинарные кавычки, которых после htmlspecialchars() остаться не должно, автор пытается выкосить к хуям, а одинарную - на кой-то хер типа заэскейпить одинарным слешем?
      Что они там в школах нынче курят?
      Ответить
      • > одинарные кавычки, которых после htmlspecialchars() остаться не должно
        Она, емнип, одинарные не экранирует по дефолту. Там надо флаги крутить. Но автору кода ман читать было лень...
        Ответить
        • Двойные кавычки имел ввиду, ошибочка вышла, пардон.
          Ответить
    • Молодец, вытащил таки код) Но статью не удосужился прочесть, там написано, что данная функция не поможет и является блефом, а не защитой. Данный код я нашел в какой-то из книг, ПХП глазами хакера (Фленова) по моему)

      Ниже описаны рекомендации либо использовать подготовленные запросы/экранировать кавычки с помощью mysql/pdo функций либо использовать класс htmlpurifier, который на мой взгляд неплох.

      Лучше читайте внимательней, а не копипасте для поднятия кармы)) Поменьше говна вам в Новом году))
      Ответить
      • >>> Поэтому давайте напишем более гибкую функцию фильтрации данных.

        И тебя с наступающим.
        Ответить
      • Кстати, "Если подробнее, суть CSRF в замене страницы." лучше бы удалить, чтоб не путать людей. Тем более, что там дальше понятное объяснение идёт.

        "Если подробнее, суть фишинга в замене страницы."
        Ответить
        • Лучше всю статью удалить, чтобы не путать людей. Из статьи очевидно, что автор нихуя не понимает что надо экранировать, в каких случаях и зачем.

          P.S. Сорри за маты, я пьян.
          Ответить
          • >нихуя
            >P.S. Сорри за маты, я пьян.
            Да ты охуел. Устроили тут детский сад.

            >Из статьи очевидно, что автор нихуя не понимает что надо экранировать, в каких случаях и зачем.
            А чтобы пользоваться шаблонизатором, и не нужно нихуя понимать. phpкапец++ phpкапец++ phpкапец++
            Ответить
    • >либо использовать класс htmlpurifier, который на мой взгляд неплох.
      Неужто пыхомакаки когда-то поумнеют?

      Чтобы нормально писать на php, надо пописать на питоне, а потом уйти обратно на php. Жалко, ни у кого это еще не получалось.
      Ответить
      • >а потом уйти обратно на php
        Но зачем?
        Ответить
        • Я написал, что нужно сделать, чтобы нормально писать на php.
          Ответить
          • Кстати, плюсану, лично у меня после бекграунда с Ruby On Rails квалити кода на php / nodejs повысилось
            Ответить
            • меня после ROR неделю кошмары мучали. Набуя нeжен еще один php только медленный.
              Вот питончик это да.
              Ответить
              • И что ты на питоне для веба написал?
                Ответить
                • на django каталожек для инвентаризации основных средств
                  Ответить
                  • И после этого на пхп вернулся?
                    Ответить
                    • ну я и не уходил с пыха. С пыхом работы все же больше чем с питончиком.
                      Ответить

    Добавить комментарий