Есть папка на сервере с правами 777
Папка доступна пользователям для просмотра, то есть, находится она внутри каталога сайта, а не выше него.
Может ли кто-нибудь загрузить в нее файл, не используя интерфейс сайта?
вопрос 2.
Будьте добры, укажите на ошибки в коде (в плане безопасности)
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- <?PHP
- function upload_img(){
- $uploadfile = $_SERVER['DOCUMENT_ROOT'].'/img/'; //каталог для загрузки файлов
- if (preg_match('#\.(jpeg|jpg|gif|png)$#iUs', $_FILES['img']['name'], $out) && // проверяем расширение и запоминаем его
- move_uploaded_file($_FILES['img']['tmp_name'], $uploadfile.($name=md5(time().basename($_FILES['img']['name'])).'.'.$out[1]) )) {
- //перемещаем загруженный файл. имя генерируем с помощью md5, в конец подставляем найденное ранее расширение
- return $name; //если все ок, возвращаем имя файла после загрузки
- }
- }
- $img = upload_img();
- echo 'Загрузили файл '.$img.' <br>';
- }
- ?>
- <form action="index.php" method="post" enctype="multipart/form-data">
- <p>Картинка: (max: 200KB) <input type="file" name="img" ></p>
- <input type="submit" value="Add">
- </form>