Apache / Nginx / Lighttpd:PHP 禁用文件上传
我正在为我的小型企业服务器设置 Apache 和 PHP。我没有在任何 PHP 脚本中使用文件上传功能。如何禁止在基于 CentOS 或 Ubuntu Linux 的 LAMP 服务器下上传文件?
PHP 是一种广泛使用且经常配置错误的服务器端脚本语言。如果您或您使用 PHP 编写的某个 Web 应用程序未使用文件上传,则可以通过编辑文件将其关闭php.ini。破解者(或攻击者)会尝试将恶意脚本上传到您的 Web 应用程序中,以进行垃圾邮件、欺诈和其他恶意活动。
在我的基于 CentOS 的系统上,php.ini 位于 /etc/ 目录中。
教程详细信息 | |
---|---|
难度等级 | 中间的 |
Root 权限 | 是的 |
要求 | LAMP+CentOS/Ubuntu Linux/类Unix操作系统 |
预计阅读时间 | 1 分钟 |
步骤#1:查找 php.ini
要查找 php.ini 路径,请输入:
php -i | grep --color 'php.ini'
示例输出:
图01:在类Unix操作系统下查找php.ini路径
步骤2:编辑/etc/php.ini
编辑文件 /etc/php.ini,输入:
# vi /etc/php.ini
对 /etc/php.ini 进行以下更改:
# Disallow uploading altogether this makes moving or injecting bad scripts/code onto your web server more difficult file_uploads = Off # Disallow treatment of file requests as fopen calls allow_url_fopen = Off allow_url_include = Off
保存并关闭文件。重新启动或重新加载 Apache 网络服务器
# service httpd restart
,或者
# service httpd reload
如果您使用的是 Nginx,请重新启动 nginx 网络服务器,键入:
# nginx -s reload
如果您使用的是 Lighttpd,请重新启动 lighttpd 网络服务器,键入:
# /etc/init.d/lighttpd restart
参见
请参阅强化和保护 PHP 文章– 为系统管理员安全配置 PHP 提供的 25 个 PHP 安全最佳实践。