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

    +161

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    <?php
    //в посте кроме этих ключей больше быть ничего не может
    if ($_POST['x'])unlink('/x.png');
    if ($_POST['y'])unlink('/y.png');
    if ($_POST['z'])unlink('/z.png');
    if ($_POST['a'])unlink('/a.png');
    if ($_POST['b'])unlink('/b.png');
    //etc
    ?>

    Ну не знал я, что можно было сделать так:
    <?php
    foreach ($_POST as $key => $value)
    {
    unlink('/'.$key.'.png');
    }
    ?>

    Запостил: QarezZ, 01 Октября 2011

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

    • про магические числа мы знаем, у вас же магические параметры?
      Ответить
    • $key === '../../../очень_важный_файл' :)
      Ответить
      • Если среда внутренняя (не внешние данные) и гарантируется, что "в посте кроме этих ключей больше быть ничего не может", то проверка не обязательна.

        но код говнян всё равно
        Ответить
        • }{з, писать код без элементарный проверок - смертоубийство. Не важно внутренняя там среда или нет :)
          Ответить
          • Лишь бы не себе в убыток.
            Ответить
          • проще права выставить, чем проверки писать.
            и вообще: все важные файлы - за пределы рабочей области скрипта! Еще лучше - за пределы document_root
            Ответить
            • в /lost+found
              Ответить
              • а туда кто-то смотрит?

                напомнило:
                в детстве, когда меня родители надумывали ограничить в компьютере, я всё равно придумывал способа поиграть в отсутствие родителей:
                пароль биоса я снимал мастер-пассвордом,
                замок на кнопку питания вскрывал иголкой,
                а чтобы они даже не догадывались, что я это делал, за полчаса до предполагаемого возвращения выключал, давая остыть монитору.
                А когда отец стал сечь по времени измененея системных файлов, я менял дату в биосе. Но поскольку был не аккуратен в выборе даты, некоторые файлы всё-таки выдавали меня.
                Тогда я стал загружать только дос, а чтобы не находились файлы, прятал их в C:\Recycled. Но жадность фраера сгубила -- когда размер корзины рос, и не уменьшался при очистке корзины, меня вычислили.
                Ответить
                • Да-а... Андрюха наш человек.
                  Ответить
                • а я, помнится, просто завел себе второй хард и грузился с него.
                  Ответить
                  • жаль, что у меня такой возможности не было
                    Ответить
                    • а у меня был программируемый калькулятор, и меня в нем никто не ограничивал...
                      Ответить
    • показать все, что скрытоvanished
      Ответить

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