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

    +158

    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
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    <?php  
    // Подключаемься к базе данных  
    require_once ("bd.php");  
     $query = 'SELECT MAX(id) AS `id` FROM `data`';  
            $result = mysql_query($query) or die("Query failed : " . mysql_error());  
    /* Выводим результаты в html */ 
            $line = mysql_fetch_array($result, MYSQL_ASSOC);  
    //================Настройки============= //  
    $fotos_dir = "fotos/"; // Директория для фотографий 
    $foto_name = $fotos_dir.time()."_".basename($_FILES['myfile']['name']); // Полное имя файла вместе с путем  
    $foto_light_name = $line['id']+1; 
    $foto_light_name2 = $foto_light_name.".".basename($_FILES['myfile']['type']); 
    //$foto_light_name = time()."_".basename($_FILES['myfile']['name']); // Имя файла исключая путь  
    // Текст ошибок  
    $error_by_mysql = "<span style=\"font: bold 15px tahoma; color: red;\">Ошибка при добавлении данных в базу</span>";  
    $error_by_file = "<span style=\"font: bold 15px tahoma; color: red;\">Невозможно загрузить файл в директорию. Возможно её не существует</span>";  
    // Начало  
    if(isset($_FILES["myfile"]))  
    {  
    $myfile = $_FILES["myfile"]["tmp_name"];  
    $myfile_name = $_FILES["myfile"]["name"];  
    $myfile_size = $_FILES["myfile"]["size"];  
    $myfile_type = $_FILES["myfile"]["type"];  
    $error_flag = $_FILES["myfile"]["error"];  
    // Если ошибок не было  
    if($error_flag == 0)  
    {  
    $DOCUMENT_ROOT = $_SERVER['DOCMENT_ROOT'];  
    $upfile = getcwd()."\\fotos\\" ."site.ru_".$foto_light_name2;  
    if ($_FILES['myfile']['tmp_name'])  
    {  
    //Если не удалось загрузить файл  
    if (!move_uploaded_file($_FILES['myfile']['tmp_name'], $upfile))   
    {  
    echo "$error_by_file";  
    exit;  
    }  
    }  
    else  
    {  
        echo 'Проблема: возможна атака через загрузку файла. ';  
        echo $_FILES['myfile']['name'];  
        exit;  
    }  
    // После удачной обработки файла, выводим сообщение  
    echo "<h3>Результат добавления обоины:</h3> <br />";  
    echo "Файл <b>".$foto_light_name2."</b> успешно добавлен<br />";  
    // Заносим путь картинки в базу данных  
    $q = "INSERT INTO data (foto,dir) VALUES ('$foto_light_name2','$fotos_dir')";  
    $query = mysql_query($q);  
    // Данные успешно внесены в базу данных, выводим сообщение  
    if ($query == 'true') {  
    echo "<br /><b>Данные успешно внесены в базу</b>";  
    }  
    // В противном случае, выводим ошибку при добавлении в базу данных  
    else {  
    echo "$error_by_mysql";  
    }  
            }  
       
     elseif ($myfile_size == 0) {  
     echo "Пустая форма!";  
     }     
    } 
    ?>

    оригинал http://forum.searchengines.ru/showpost.php?p=7226101&postcount=1 не шедевр, но говнокод присутствует.
    $DOCUMENT_ROOT = $_SERVER['DOCMENT_ROOT']; - это так логично ...

    Запостил: GoodTalkBot, 07 Июля 2010

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

    • вот это так и не понял к чему echo 'Проблема: возможна атака через загрузку файла. '; защиты от XSS нету.
      Ответить
      • копипаста вот отсюда: http://ru2.php.net/manual/en/features.file-upload.post-method.php
        слегка творчески переосмысленная
        Ответить
    • > Подключаемься к базе данных
      > Подключаемься
      > емься
      Розенталь тут не поможет. Только Кольт.
      Ответить
      • показать все, что скрытоПопробуй воззвать к Лопатину
        Ответить
        • показать все, что скрытоПочему меня заминусовали? Розенталь нонче среди профессионалов не котируется. Сейчас в прописании рулит Лопатин. Погуглите.

          Вообще же Розенталь это поляк с подозрительно еврейской фамилией, специализировавшийся на итальянской филологии. Каким боком он стал рулить в правописании русского языка, я не знаю. У него не было соответствующего образования. То ли дело Вовка.

          Хотя что я жалуюсь, русскую литературную норму установил негр, до пяти лет говоривший только по-французски.
          Ответить
          • показать все, что скрытоГовнокодер, остановись! Если ты не в теме - то не минусуй. Это тебя не красит.
            Ответить
            • Теперь и у меня появляется желание минуснуть. Может быть, не стоит так уж ударяться в оффтоп? Мой комментарий, с которого стартовала ветка, тоже оффтопный, я отдаю себе в этом отчёт, раз уж на то пошло. Но не стоит, мне кажется, разворачивать его в постороннюю дискуссию.

              По поводу кода... Ну, новичковый код есть новичковый код. Отсутствие понятия о разделении логики, отсутствие привычки нормально форматировать и комментировать, глупые и несуразные ходы вследствие туманного представления о принципах работы той или иной вещи, которую человек прописывает, активное использование shotgun debugging. Все такими были когда-то; жаль только, не все из этого выросли.
              Ответить
              • показать все, что скрыто> Но не стоит, мне кажется, разворачивать его в постороннюю дискуссию.

                Не хочешь отвечать - не отвечай, неинтересно - игнорируй. Но зачем минусовать-то?
                Ответить
                • Первое. Система оценки комментариев плюсами и минусами на объективность не претендует и никогда не претендовала. Тут нет модератора, который проверяет, за дело ли плюсуют или нет, а поэтому система неизбежно работает по принципу "нравится/не нравится", т.е. субъективно. Так что не стоит ждать, что Ваши посты будут плюсовать за то, что они по делу - они могут не нравиться читателям по тысяче других причин, которые Вы не факт что вообще угадаете.

                  Второе.
                  — Дорогой, иди спать, я уже заждалась!
                  — Сейчас, пять минут, дорогая! В Интернете кто-то не прав!!111
                  Ответить
            • Проходите мимо и он успокоится.
              С ним лучше не разговаривать и не минусовать, а то зальёт всю клавиатуру, которую купил папа, своей слюной. Жалко отца, тк ему придётся новую клаву покупать.
              Ответить
              • показать все, что скрытоТы говоришь про меня в третьем лице, но в то же время обращаясь ко мне? Это новый вид говнообщения? Или это не про меня?
                Ответить
                • он не к тебе обращается.
                  Ответить
                  • Да, но комментарий обращён к моему посту. Взаимоискл. параграфов не находите?
                    Ответить
                    • Хочу обратиться к вам, как к самому божественно умному программисту говнокода.
                      Вы самый продвинутый молодой гений нашей эпохи.
                      Знаю, что вы хотите убить веб. Почему? Чем он вас так не устраивает?
                      //Уверен, что вы знаете, что существует не только Web2.0:
                      http://ru.wikipedia.org/wiki/Web_2.0
                      //,но и Web3.0:
                      http://ru.wikipedia.org/wiki/Веб_3.0

                      Мне всегда было интересно, существует ли сейчас реально эти 2 вида ВЕБА, но и возможны ли они вообще при данном уровне развития технологий?
                      Жду вашего глубоко уважаемого экспертного мнения.
                      Спасибо.
                      Ответить
                  • показать все, что скрытоУважаемый Владимир Владимирович!

                    Примите мои самые искренние и сердечные поздравления с юбилеем – 50-летием со дня рождения.

                    Нравится?
                    Ответить
      • Маузер и Браунинг
        Ответить
    • быдлокод!!!
      Ответить

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