Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Загрузка файлов на сервер в папку с правами 777

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
kir55rus
Отправлено: 30 Мая, 2013 - 11:23:44
Post Id


Новичок


Покинул форум
Сообщений всего: 52
Дата рег-ции: Янв. 2012  
Откуда: Омск, Россия


Помог: 0 раз(а)




Здравствуйте!

Есть папка на сервере с правами 777
Папка доступна пользователям для просмотра, то есть, находится она внутри каталога сайта, а не выше него.
Может ли кто-нибудь загрузить в нее файл, не используя интерфейс сайта?


вопрос 2.
Будьте добры, укажите на ошибки в коде (в плане безопасности)

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. function upload_img(){
  4.  
  5.         if( filesize($_FILES['img']['tmp_name']) > 204800) exit("Error! Size more than 200KB!"); //если размер больше 200кб, выдаем ошибку
  6.         $uploadfile = $_SERVER['DOCUMENT_ROOT'].'/img/'; //каталог для загрузки файлов
  7.        
  8.         if (preg_match('#\.(jpeg|jpg|gif|png)$#iUs', $_FILES['img']['name'], $out) && // проверяем расширение и запоминаем его
  9.  
  10. move_uploaded_file($_FILES['img']['tmp_name'], $uploadfile.($name=md5(time().basename($_FILES['img']['name'])).'.'.$out[1]) )) {
  11. //перемещаем загруженный файл. имя генерируем с помощью md5, в конец подставляем найденное ранее расширение
  12.  
  13.                 return $name; //если все ок, возвращаем имя файла после загрузки
  14.         }
  15.        
  16.         else exit("Error uploading");
  17. }
  18.  
  19. if( !empty($_FILES['img']) ){
  20.  
  21. $img = upload_img();
  22.                
  23. echo 'Загрузили файл '.$img.' <br>';
  24.                
  25.         }
  26.  
  27. ?>
  28.  
  29. <form action="index.php" method="post" enctype="multipart/form-data">
  30.         <p>Картинка: (max: 200KB) <input type="file" name="img" ></p>
  31.         <input type="submit" value="Add">
  32.         </form>
  33.  


Так же в папке img находится файл .htaccess
CODE (htmlphp):
скопировать код в буфер обмена
  1. php_flag engine 0
  2. AddType "text/html" .php .cgi .pl .fcgi .fpl .phtml .shtml .php2 .php3 .php4 .php5 .asp .jsp

(Отредактировано автором: 30 Мая, 2013 - 11:43:05)

 
 Top
Zuldek
Отправлено: 30 Мая, 2013 - 13:20:36
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010  


Помог: 50 раз(а)




например через FTP, SSH. Ну и через шел по любому доступному протоколу.
Никогда не используйте исходные файлы. Сохраняйте обработанную (отресайзенную) копию, оригинал зачем держать?

(Отредактировано автором: 30 Мая, 2013 - 13:24:42)

 
 Top
kir55rus
Отправлено: 31 Мая, 2013 - 18:39:16
Post Id


Новичок


Покинул форум
Сообщений всего: 52
Дата рег-ции: Янв. 2012  
Откуда: Омск, Россия


Помог: 0 раз(а)




Zuldek пишет:
например через FTP, SSH. Ну и через шел по любому доступному протоколу.
Никогда не используйте исходные файлы. Сохраняйте обработанную (отресайзенную) копию, оригинал зачем держать?


SSH отключен.
Чтобы залить через FTP, нужно знать логин и пароль для доступа, верно?

Цитата:
Ну и через шел

Шелл еще нужно загрузить, если мы думаем об одном и том же... Я имею ввиду шеллы типа WSO

Цитата:
Сохраняйте обработанную (отресайзенную) копию
Ок, спасибо. Над этим поработаю
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с файловой системой и файлами »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB