Передача изображений работает только с определенными разрешениями?

0

Я использую PHP для перемещения изображения в определенный каталог. Он терпит неудачу, если у меня есть/tmp/с разрешениями 755, но это не сработает, если у меня есть это с 777. Так как 777 не является безопасным, есть ли какой-либо другой способ сделать это?

Мой PHP-код:

$dir = '/var/www/spectrom.benrosen.org/uploadedimages/';
$file = basename($_FILES['uploadimage']['name']);
$uploadfile = $dir . randomize() . $file;

if (move_uploaded_file($_FILES['uploadimage']['tmp_name'], $uploadfile)) {
 exit('{"result": "successful"}');
} else {
         exit('{"result": "could not upload image."}');

}
Теги:
permissions
ubuntu-14.04

2 ответа

0

Гарр прав в папке /tmp. В любом случае, если вас беспокоит безопасность папок, проверьте этот файл http://shapeshed.com/securing_upload_folders_in_php_on_unix_servers/, в котором объясняется, как преобразовать разрешение на загрузку в папку 755.

  • 0
    Для какого пользователя я хотел бы дать ему разрешение на запуск PHP?
  • 0
    Полностью прочитайте эту страницу, она описывает изменение владельца папки для загрузки на работающие Apache и PHP, обычно «www», «apache» или «nobody». Также в нем указывается, если вы этого не знали, спросите у вашей хостинговой компании. Мы использовали "www" в качестве имени владельца
Показать ещё 2 комментария
0

Я бы не стал беспокоиться о папке /tmp. Любой пользователь должен иметь возможность писать на него. Вы не должны оставлять ничего чувствительного в папке tmp.

Это также приведет к сбою в зависимости от настроек вашей папки "Добавить изображения". Сделать владельца этой папки процессом PHP. Это зависит от системы. Если работает apache, он может управляться через.htaccess, но определенно httpd.conf

Ещё вопросы

Сообщество Overcoder
Наверх
Меню