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

    +161

    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
    elseif(isset($_GET['del']))
    {
        foreach($_POST as $id=>$a)
        {
            mysql_query("DELETE FROM `{$prefixbd}$table` WHERE `id`='".intval($id)."'")or die(mysql_error());
            @chmod(ret_img($file_path.$id),0777);
            @unlink(ret_img($file_path.$id));
            @chmod(ret_img($file_path.$id.'_big'),0777);
            @unlink(ret_img($file_path.$id.'_big'));
            $sql=mysql_query("SELECT FROM `{$prefixbd}{$table}_img` WHERE `prod`='".intval($id)."'")or die(mysql_error());
            while($data=mysql_fetch_assoc($sql)){
                @chmod(ret_img($file_path.$id.'_'.$data['id'].'_add'),0777);
                @unlink(ret_img($file_path.$id.'_'.$data['id'].'_add'));
                @chmod(ret_img($file_path.$id.'_big_'.$data['id'].'_add'),0777);
                @unlink(ret_img($file_path.$id.'_big_'.$data['id'].'_add'));
                mysql_query("DELETE FROM `{$prefixbd}{$table}_img` WHERE `id`='".$data['id']."'");
            }
        }

    Обратите внимание как удаляет файлы)) исходник из некого chrono CMS

    Запостил: dobs2005, 16 Марта 2011

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

    • прямо-таки весь $_POST и просматривается? блин, отличная брешь для удаления чего ни попадя )))) )))
      Ответить
      • Ну это у него в админке так сохраняет, правда ХЗ как там авторизация устроена, думаю тож со всякими "приколами")
        Ответить
    • А обязательно чмодить перед анлинком?
      Мне лично кажется, что коли нет прав на анлинк, то и зачмодить не удастся.
      И наоборот - коли есть возможность чмодить, то и возможность анлинкить быть должна.
      Ответить
      • Угу, я понимаю если б это было при сейве, но при удалении это боян)
        Ответить

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