天天看点

CentOS 7.9通过CGI实现在html页面中执行shell命令

一、cgi概念:

cgi:common gateway interface,公共网关接口,是web服务器运行时外部程序的规范,按cgi编写的程序可以扩展服务器功能。cgi应用程序能与浏览器进行交互,还可通过数据api与数据库服务器等外部数据源进行通信,从数据库服务器中获取数据,格式化为html文档后,发送给浏览器,也可以将从浏览器获得的数据存入数据库。几乎所有服务器都支持cgi,可用任何语言编写cgi,包括流行的c、c ++、java、vb和delphi等。cgi分为标准cgi和间接cgi两种。标准cgi使用命令行参数或环境变量表示服务器的详细请求,服务器与浏览器通信采用标准输入输出方式。间接cgi又称缓冲cgi,在cgi程序和cgi接口之间插入一个缓冲程序,缓冲程序与cgi接口间用标准输入输出进行通信。

二、cgi代码实现:

1、

安装httpd:

2、

确认httpd.conf配置文件中存在如下代码:

3、

启动httpd:

4、

编写index.cgi:

5、

安装net-tools:

6、shell

命令执行效果:

CentOS 7.9通过CGI实现在html页面中执行shell命令

7、浏览器中输入192.168.0.122/cgi-bin/index.cgi:

CentOS 7.9通过CGI实现在html页面中执行shell命令

三、cgi环境变量:

编写info.cgi:

​说明:

$server_software:服务器软件及版本

​$server_name:服务器ip

$gateway_interface:cgi版本

$server_protocol:通信使用协议

$server_port:服务器端口号

$request_method:请求方法(get/post/put/delete等)

$script_name:当前运行的脚本名称(包含路径)

$remote_addr:客户端ip​

2、浏览器中输入192.168.0.122/cgi-bin/info.cgi:

CentOS 7.9通过CGI实现在html页面中执行shell命令