2016-10-31 3 views
1

В моем коде для загрузки PDF-документов на мой веб-сервер я использовал move_uploaded_file.Запретить локальным пользователям доступ к папке загрузок

move_uploaded_file($tmp_source, $destin) 

Однако эта команда не работает, если я не предоставил 777 доступ к папке uploads. Я попытался сделать это 775, но это не сработало.

я получаю следующее сообщение об ошибке

failed to open stream: Permission denied in /srv/http/host1/public_html/internal/upload.php on line 82 

Поставив папку дата загрузки выше public_html, я могу дать людям доступ к ним через браузер, но как запретить местным пользователям доступ к этой папке через SSH?

+0

Разрешения '775' или' 755' должны работать, если вы установили владельца или группу папки для загрузки в 'www-data'. – Barmar

+0

@Barmar На моей машине нет такого пользователя. Это установка Arch. –

+0

Используйте любое имя пользователя, которое запускает веб-сервер. – Barmar

ответ

0

Некоторые ответы, связанные с этим вопросом, предложил использовать

ps aux | grep apache 

, чтобы выяснить, пользователю, который папку для загрузки должны быть даны соответствующие разрешения 0755. Эта информация не работает для меня.

Однако правильная информация была доступна в phpinfo() под заголовком apache2handler. Это было http.

Среди прочего, я ограничил типы файлов в pdf, установил .htaccess для ограничения cgi, а также сохранил папку uploads вне public_html, чтобы предотвратить доступ через браузер.

Я не знаю о дальнейших проблемах безопасности.

Смежные вопросы