Скрипт для включения или выключения PHP загрузки файлов Php5-fpm/Apache/Nginx/Lighttpd
Простой скрипт для отключения или включения в PHP 5 поддержка загрузки файлов (uploads) в Apache или Nginx или Lighttpd веб-сервере. Сценарий ищет директивы file_uploads в файле php.ini и изменит состояние из включенного на выключенный или наоборот.
Когда вы разрешаете загрузку файлов на вашей системе это предполагает ряд рисков, файлы могут быть загружены исполняемые под видом изображений, загружены скрипты PHP и перемещены в место, где они могут быть запущены, и так далее. Если ваш сайт на самом деле не требует загрузки файлов, отключите эту функцию, это предотвратит случайные загрузки файлов, а так же вредоносных скриптов. Мы рекомендуем Вам всегда отключать данную возможность.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
#!/bin/bash # A simple shell script to turn on or off Apache / Nginx / Lighttpd web server upload # by editing php.ini or custom.ini file # Tested on : Debian 8 and Ubuntu LTS server but should work with any Linux and Unix-like system # ---------------------------------------------------------------------------- # Author: nixCraft <http://www.cyberciti.biz> # Copyright: 2015 nixCraft under GNU GPL v2.0+ # ---------------------------------------------------------------------------- # Last updated 12 Sep 2015 # ---------------------------------------------------------------------------- # Path to ini file cust="/etc/php5/mods-available/custom.ini" # Ubuntu command to reload php5-fpm # Update this as per your need. For e.g. Debian 7.x or older use /sbin/service apache2 restart # For RHEL/CentOS7 use /sbin/systemctl reload httpd.service _reload="/sbin/restart php5-fpm" # Where is sed located? _sed="/bin/sed" # Reload function _reload(){ echo "Reloading php5-fpm..." $_reload } # Turn on uploading _on(){ echo "Allowing uploads..." $_sed -ie 's/file_uploads=Off/file_uploads=On/' $cust \ && _reload } # Turn off uploading _off(){ echo "Disabling uploads..." $_sed -ie 's/file_uploads=On/file_uploads=Off/' $cust \ && _reload } # Get current status of uploading _status(){ echo "Current file upload status in ${cust}..." grep -e --color '^file_upload' $cust } # Main logic # arg=$1 case $arg in [oO][nN]) _on;; [oO][fF][fF]) _off;; [sS][tT][aA][tT][uU][sS]) _status;; *) echo "Usage: $0 [on|off|status]";; esac |