"PHP" / Говнокод #3653 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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 GoodTalkBot, (Updated )

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

  • вот это так и не понял к чему echo 'Проблема: возможна атака через загрузку файла. '; защиты от XSS нету.
    Ответить
  • > Подключаемься к базе данных
    > Подключаемься
    > емься
    Розенталь тут не поможет. Только Кольт.
    Ответить
      • Почему меня заминусовали? Розенталь нонче среди профессионалов не котируется. Сейчас в прописании рулит Лопатин. Погуглите.

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

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

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

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

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

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

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

                  Нравится?
                  Ответить

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

Переведи на "PHP", guest!

    А не использовать ли нам bbcode?


    8