Как отключить произвольный код PHP 7 в каталоге?
Вопрос внизу.
Согласно официальному руководству по безопасности Mediawiki, я должен
<Directory "/Library/MediaWiki/web/images">
# Ignore .htaccess files
AllowOverride None
# Serve HTML as plaintext, don't execute SHTML
AddType text/plain .html .htm .shtml .phtml .php .php3 .php4 .php5 .php7
# Don't run arbitrary PHP code.
php_admin_flag engine off
# If you've other scripting languages, disable them too.
</Directory>
Однако с Apache 2.4.29 и PHP 7.1.15 я получаю
Invalid command 'php_admin_flag', perhaps misspelled or defined by a module not included in the server configuration
Согласно этому посту решение
Вы не можете использовать php_admin_value/php_admin_flag с PHP, скомпилированным как CGI (suPHP), потому что эти параметры поддерживаются только тогда, когда PHP скомпилирован как модуль Apache. Не стесняйтесь использовать разделы php.ini для изменения настроек ( http://php.net/manual/en/ini.sections.php). В противном случае - просто переключитесь на mod_ruid2+mod_php, и вы сможете использовать php_admin_value в файлах конфигурации Apache.
Даже когда я установил
dnf -y install httpd php php-mysqlnd php-gd php-xml php-mbstring mod_ruid2
Я получаю ошибку, несмотря на mod_php
а также mod_ruid2
,
Вопрос
Может ли кто-нибудь перевести вышесказанное на то, что мне действительно нужно сделать в моем случае, на простом английском языке?
1 ответ
Для одного каталога:
<Directory "/Library/MediaWiki/web/images">
php_admin_value engine Off
</Directory>
Для нескольких каталогов по одному пути:
<DirectoryMatch ^/Library/MediaWiki/web/(images|other_folder|other_folder)>
php_admin_value engine Off
</DirectoryMatch>
Также есть <LocationMatch "path"> - здесь больше директив: http://httpd.apache.org/docs/current/mod/core.html#locationmatch