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

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
if(isset($_POST['submit'])){
				$cat = $_POST['cat'];
				
				/** Определяем переменную дириктории */
				if($cat == 1) :
				$uploaddir = '../uploads/poli/'; 
				elseif($cat == 2) : $uploaddir = '../uploads/site/';
				elseif($cat == 3) : $uploaddir = '../uploads/style/';
				elseif($cat == 4) : $uploaddir = '../uploads/illustration/';
				endif;
				
				$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
				$file_name = $_FILES['userfile']['name'];
				$desc = trim(htmlspecialchars($_POST['desc']));
				$position = $_POST['pos'];
				
				if (!file_exists($uploadfile)){
					/** Перемещаем фаил из временной дириктории в папку uploads */
					if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
						/** НИКашерное обрезание  да бля стыдно ,но конец рабочего дня в голову не чего не лезит */
						$uploadfile = substr($uploadfile,3);
						$result = $db->INSERT('pfolio',array('img','description','cat','position'),array($uploadfile,$desc,$cat,$position));
						if($result) : echo '<h2 style="color:green;"> Фаил успешно загружен </h2> <a href="admin.php?am=mod[portfolio]&add">Назад</a>'; else: echo 'Не удачно'; endif;
					} else {
						echo "Возможная атака с помощью файловой загрузки!\n";
					}
				}else{
					echo '<h2 style="color:red;"> Фаил с таким именем уже сущевствует !</h2> <br /> <p style="text-decoration:underline; color : red; cursor:pointer;" onClick="history.back()">Назад</a>';
				}

НИкашерно обрезал

Запостил: ilussion ilussion, (Updated )

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

  • Кэп, объясни, зачем оборачивать $_FILES['userfile']['name'] в basename, не первый раз такой вижу.
    Ключ name ведь всегда возвращает строго имя файла, какой там может быть путь?
    Ответить
  • если файл не удалось переместить, то это значит идет атака с помощью файловой загрузки... блин, буду знать, thnx bro...
    Ответить
    • Это пошло из какого-то мануальчика, кстати. Что-то про загрузку для дебилов. А дебилы, как известно, любят копировать всё как есть.
      Ответить
        • Да, точно. А потом разошлось по "учебникам". Вчера как раз полез смотреть в мануал и вспомнил.
          Ответить
          • зато народ находится в наивной уверенности, что они надежно защищены от атаки через загрузку файлов, ведь они предусмотрели такой случай
            Ответить

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

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

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


    8