Как остановить редактирование родительских каталогов PHP-файлов с помощью chmod или .htaccess? - PullRequest
0 голосов
/ 06 июня 2011

Я разрешаю людям использовать каталог на моем сервере, но я не хочу, чтобы файлы PHP или другие сценарии на стороне сервера, редактирующие какие-либо родительские каталоги, кто-нибудь знает, как это сделать, и если это возможно с помощью chmod или .htaccess .

Я сделал это в Google, но не смог найти ничего, по-моему, я искал не то.

Ответы [ 3 ]

1 голос
/ 06 июня 2011

Используйте директиву open_basedir, чтобы ограничить ваши скрипты PHP их домашним каталогом и возможными дополнительными каталогами. Это очень эффективно само по себе.

Используйте закаленный PHP, потому что это ничего не стоит, и это может помочь.

Используйте suPHP, чтобы PHP-скрипты выполнялись как владелец файла (один пользователь на веб-сайт), и избегайте использования файлов с плохими разрешениями, таких как 777 ... suPHP также может позволить вам иметь один php.ini на каталог, чтобы глупое требование одного человека - не разрушай все.

Mod_security - большой плюс, но его нужно правильно использовать и настраивать.

0 голосов
/ 06 июня 2011

Вы хотите сказать, что вы не хотите, чтобы они могли изменять ваши PHP-файлы?

Или вы не хотите, чтобы программы PHP могли изменять файлы в этом каталоге?

Если это первое, установите право собственности на файлы для другого владельца и группы, отличных от тех, в которые гости входят с помощью chown. Затем сделайте chmod go-rwx *php в папке, которую хотите защитить. Это сделает так, чтобы пользователи, не принадлежащие к той же группе, что и вы + кто-либо другой, не могли читать, выполнять или записывать эти файлы.

Если это второй случай, измените право собственности на файлы, отличные от учетной записи, под которой работает ваш веб-сервер (попробуйте <?php passthru('whoami');?>). Затем выполните ту же команду chmod, что и выше.

0 голосов
/ 06 июня 2011

Только не позволяйте пользователю, с учетными данными которого запускаются PHP-скрипты, изменять родительский каталог.Chmod родительский каталог drwxr-xr-x с пользователем, отличным от пользователя PHP.Затем дайте необходимые разрешения в подпапках.

...