Есть два возможных значения для «исполняемого» в этом контексте, и оба - это то, что вам нужно настроить.
Исполняемый двоичный файл, который может работать из командной строки, введя имя файла в оболочку
файл, который может быть чтения и обрабатываться как сценарий с помощью веб-сервера.
Обработка двоичных исполняемых
Чтобы настроить против случая 1 на ип * х системы, вам необходимо убедиться, что ваш каталог загрузки и файлы в нем, принадлежат пользователю веб-сервера и только читаемый этим пользователем. Каталог должен быть исполняемым; это означает, что к файлам внутри этого каталога можно получить доступ). Если веб-пользователю необходимо перечислить файлы в каталоге, он также должен быть доступен для чтения. Это, конечно же, должно быть доступно для записи, чтобы разрешить создание новых файлов.
Таким образом, множество восьмеричное вы хотите бы
chown <web-server-user> <upload-dir>
chmod 0700 <upload-dir>
файлы не должны быть выполняемыми и должен быть доступен только для чтения и записи на веб-сервере, поэтому они должны быть
chmod 0600 <uploaded-file>
Пожалуйста, обратите внимание, что это означает, что сможет видеть только файлы веб-сервера. Это лучшая ситуация для безопасности. Тем не менее, если вы действительно нуждаетесь в других локальных пользователей, чтобы иметь возможность увидеть эти файлы, а затем использовать
chmod 0755 <upload-dir>
chmod 0644 <uploaded-file>
Обработка веб-сервер excutable
Кодирование от случая 2 является веб-сервер специфичны.
Один из вариантов заключается в том, чтобы разместить каталог загрузки за пределами веб-сайта, полностью опуская прямой доступ к загружаемым файлам и только обслуживая их через серверный код.Ваш код читает и перекликается с содержимым файла, тем самым гарантируя, что он никогда не обрабатывается как скрипт веб-сервером.
Другой вариант - настроить ваш веб-сервер, чтобы не разрешать обработку файлов в каталоге загрузки. Эта конфигурация является специфичной для веб-сервера. Однако, например, в Apache вы можете добиться этого путем ввода в конфигурации сервера:
<Directory "path-to-upload-dir">
AllowOverride None
Options -ExecCGI
</Directory>
AllowOverride Нет важно, так как он останавливает кого при загрузке файла .htaccess в директории закачки и повторного конфигурирования веб разрешения сервера для этого каталога.
Не моя область знаний, но у меня был php_admin_flag, выделенный как что-то еще, чтобы добавить к этому. Добавьте «php_admin_flag engine off» ниже строки «Параметры». \t AllowOverride None \t Опции -ExecCGI \t php_admin_flag двигатель выключен –
Jake