如何在Apache 2.4中启用或禁用CGI脚本

时间:2019-05-19 01:25:59  来源:igfitidea点击:

Apache模块 mod_cgi/mod_cgid负责处理CGI脚本。
对于worker和event,多线程MPM使用CGI守护进程“mod_cgid”模块。
本教程将了解在Linux操作系统上如何在Apache 2.4服务器中启用或禁用CGI脚本。

在Apache中启用CGI模块

在Apache服务器中启用CGI。
你需要在Apache配置文件中加载模块文件 mod_cgi.so或者mod_cgid.so

编辑 /etc/httpd/conf.modules.d/XX-cgi
配置文件,并确保下面显示的行没有被注释。

<IfModule mpm_worker_module>
   LoadModule cgid_module modules/mod_cgid.so
</IfModule>
<IfModule mpm_event_module>
   LoadModule cgid_module modules/mod_cgid.so
</IfModule>
<IfModule mpm_prefork_module>
   LoadModule cgi_module modules/mod_cgi.so
</IfModule>

Ubuntu, Debian, LinuxMint和其他Debian派生系统使用以下命令启用CGI模块。
这个命令创建到/etc/apache2/mod-enabled/目录中模块配置文件的软链接。

sudo a2enmod cgi

在Apache配置中启用CGI模块之后,需要在系统上重新启动Apache服务,使更改生效。

在Apache中禁用CGI模块

我们建议在你的服务器上禁用CGI,直到它被推荐为你的服务器。
CGI脚本被黑客用来攻击服务器。
使用以下选项禁用Apache服务器上的CGI脚本。

CentOS, Red Hat, Fedora

重命名 /etc/httpd/conf.modules.d/XX-cgi.conf配置文件如下所示。

mv /etc/httpd/conf.modules.d/XX-cgi.conf /etc/httpd/conf.modules.d/XX-cgi.conf.disable

Ubuntu, Debian, LinuxMint

使用以下命令来禁用CGI模块。

a2dismod cgi

禁用CGI模块后,需要在系统上重新启动Apache服务,使更改生效。