Rate this post

Простой скрипт для отключения или включения в PHP 5 поддержка загрузки файлов (uploads) в Apache или Nginx или Lighttpd веб-сервере. Сценарий ищет директивы file_uploads в файле php.ini и изменит состояние из включенного на выключенный или наоборот.nnКогда вы разрешаете загрузку файлов на вашей системе это предполагает ряд рисков, файлы могут быть загружены исполняемые под видом изображений, загружены скрипты PHP и перемещены в место, где они могут быть запущены, и так далее. Если ваш сайт на самом деле не требует загрузки файлов, отключите эту функцию, это предотвратит случайные загрузки файлов, а так же вредоносных скриптов. Мы рекомендуем Вам всегда отключать данную возможность.n

n#!/bin/bashn# A simple shell script to turn on or off Apache / Nginx / Lighttpd web server upload n# by editing php.ini or custom.ini filen# Tested on : Debian 8 and Ubuntu LTS server but should work with any Linux and Unix-like systemn# ----------------------------------------------------------------------------n# Author: nixCraft n# Copyright: 2015 nixCraft under GNU GPL v2.0+n# ----------------------------------------------------------------------------n# Last updated 12 Sep 2015n# ----------------------------------------------------------------------------n# Path to ini filencust="/etc/php5/mods-available/custom.ini"n n# Ubuntu command to reload php5-fpmn# Update this as per your need. For e.g. Debian 7.x or older use  /sbin/service apache2 restartn# For RHEL/CentOS7 use /sbin/systemctl reload httpd.service n_reload="/sbin/restart php5-fpm"n n# Where is sed located?n_sed="/bin/sed"n n# Reload functionn_reload(){n        echo "Reloading php5-fpm..."n        $_reloadn}n n# Turn on uploadingn_on(){n        echo "Allowing uploads..."n        $_sed -ie 's/file_uploads=Off/file_uploads=On/' $cust \n        && _reload n}n n# Turn off uploadingn_off(){n        echo "Disabling uploads..."n        $_sed -ie 's/file_uploads=On/file_uploads=Off/' $cust \n        && _reload n}n n# Get current status of uploadingn_status(){n        echo "Current file upload status in ${cust}..."n        grep -e --color '^file_upload' $custn}n n# Main logic #narg=$1ncase $arg inn        [oO][nN]) _on;;n        [oO][fF][fF]) _off;;n        [sS][tT][aA][tT][uU][sS]) _status;;n        *) echo "Usage: $0 [on|off|status]";;nesac