天天看點

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指令