PHP - Защита сайта от папок с разрешениями 777 - PullRequest
1 голос
/ 25 февраля 2010

Обычно я пытаюсь установить для моих папок разрешение 775, но некоторые веб-хостинги отказываются разрешать PHP записывать или перемещать файлы в любые папки, если у него нет разрешения 777 (это может быть open_dir или безопасный режим).

Есть ли способы предотвратить запуск любых файлов PHP из таких папок на случай, если туда был загружен вредоносный скрипт PHP?

Ответы [ 4 ]

6 голосов
/ 27 мая 2010

Папки с разрешениями 777 непростительно опасны. Найти другого веб-хостинга

На самом деле, найдите другой хост, если ваш хост НЕ требует 777 для это должно быть доступно для записи. По правде говоря, если PHP-скрипты могут писать в папку, 755 (suexec, suPHP), это практически то же самое, что иметь ВСЕ папки 777. Итак, для безопасности вам нужен хост, которому требуется 777 для сделать папку доступной для записи.

Подумайте об этом так - почти все папки по умолчанию имеют 755. Если скрипты может записывать в 755 папок, это означает, что любой скрипт может записывать в любую папку!

Если скрипты могут писать только в 777 папок, это означает, что они могут писать только в папки, которые они должны. Если вы собираетесь разрешить записи в все каталоги, они также могут быть ВСЕ 777, так что это непростительно опасно.

Только мнение одного лицензированного специалиста по безопасности с пятнадцати лет опыта.

2 голосов
/ 25 февраля 2010

Есть ли способы предотвратить запуск любых файлов PHP из таких папок на случай, если туда был загружен вредоносный скрипт PHP?

Вы можете отключить PHP для этого каталога. См. этот ответ.

0 голосов
/ 26 марта 2013

Отключить выполнение сценариев Вы также можете попытаться отключить выполнение сценариев в загруженной папке, куда попадают все файлы. Вы можете сделать это, написав файл .htacess в папку.

AddHandler cgi-скрипт .php .php3 .php4 .phtml .pl .py .jsp. ASP.HTM.

Опции -ExecCGI

0 голосов
/ 28 июля 2010

Комментарий Рэя не имеет смысла.Лицензированный специалист по безопасности?Сценарии, созданные владельцем, должны иметь возможность записи в 755 папок!См. http://www.zzee.com/solutions/linux-permissions.shtml тоже!

И ответ на оригинальный вопрос ... Это легко.использование php_value auto_prepend_file в .htaccess сделает это.Просто создайте простой скрипт, который завершает [ die () function], определите его в .htaccess ;каждый скрипт PHP, вызванный из такой директории, не будет выполнен.Вы даже можете настроить этот скрипт «kill» так, чтобы он отправлял вам электронные письма каждый раз, когда происходит что-то подозрительное (когда кто-то пытается вызвать скрипты PHP из «защищенного» каталога).

...