2012-01-16 2 views
0

У меня есть приложение php, которое создает каталоги и файлы с пользовательского ввода. Является ли проблема создания php каталогов/файлов, а затем использовать функцию php chmod для установки разрешений на 755/644?Создание каталогов и файлов с помощью PHP и разрешений Проблемы

Когда я это делаю, похоже, что единственный способ удалить эти файлы - через php. Поэтому, если я хочу удалить их через FTP, это не сработает, потому что им принадлежит apache/php.

В основном, хотя я пытаюсь выяснить, нужно ли мне что-либо делать, кроме chmod, до 755/644 для каталогов/файлов, чтобы сделать вещи максимально безопасными.

+0

В чем причина вам нужно вручную удалить/редактировать файлы через FTP? Если вам действительно нужно это делать, создайте еще один скрипт PHP для администрирования файлов. –

ответ

0

Просто chmod их до 777 через php. Тогда вы сможете удалять файлы с ftp. 755 по-прежнему позволяет писать только для php ..

+0

Спасибо, мне просто интересно, есть ли у вас более безопасные каталоги в 755 и файлы на 644, если php-скрипт устанавливает разрешения, а не устанавливает их на 777. Или это одно и то же, потому что если вредоносный PHP-скрипт входит, он все равно может писать/уничтожать файлы. – Frank

+0

Да, это должно быть безопасно. Если вы используете хостинг, то файлы защищены через ограничения папки. Например, вы не можете выйти из своей папки «htdocs», и другие не могут. Но я не уверен в запросе HTTP PUT/DELETE, но с chmod не может быть ничего. – Kristian

+0

А также, как упоминалось в andreas, вы можете использовать скрипт somekindof php. Google «php file manager», и я верю, что у вас много результатов;) – Kristian

0

Если вы используете php для создания каталогов и файлов с пользовательского ввода, вы должны рассмотреть возможность запретить выполнение скриптов php (и других) из места, где он хранится. Это можно сделать в .htaccess, если вы используете веб-сервер apache.

AddType текст/html .php .cgi .pl .fcgi .fpl .phtml .shtml .php2 .php3 .php4 .php5 .asp .jsp

+0

На самом деле эти сценарии запускаются из того места, где они созданы. Думаю, я застрял в том смысле, что если я позволю php создавать файлы, всегда будет риск, что если кто-то получит на сервере вредоносный php-файл, они могут выполнить или удалить эти файлы. Или, может быть, мне нужно будет иметь разрешения, первоначально установленные в 777, и иметь какое-то задание сервера cron, которое будет регулярно проверять и изменять их, если необходимо, для более безопасных значений. – Frank

+1

Лучше хранить все загруженные пользователем файлы в специальном каталоге (например, uploads) и устанавливать ограничения через .htaccess в этом каталоге. Надеюсь, вы не разрешаете загрузку файлов .php пользователями. –

+0

Ну, тогда вы должны очень доверять своим пользователям и надеяться, что они знают, что они делают, и никогда не будут иметь злонамеренных намерений. –

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