明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

CGI圖文說明教程(10)CGI 規(guī)范之3

[摘要]CGI 規(guī)范CGI命令行選項(xiàng)規(guī)范  命令行只用在ISINDEX查詢的情況。它不使用在HTML表單或者任何沒定義的查詢類型中。服務(wù)器應(yīng)該為一個(gè)沒有編碼的=字符搜索信息來決定是否命令行被使用了,如果它發(fā)現(xiàn)了,命令行就不使用。這個(gè)就委托客戶端在ISINDEX查詢中編碼等于號(hào),這個(gè)被認(rèn)為是安全的。下面舉個(gè)...
CGI 規(guī)范

CGI命令行選項(xiàng)規(guī)范

  命令行只用在ISINDEX查詢的情況。它不使用在HTML表單或者任何沒定義的查詢類型中。服務(wù)器應(yīng)該為一個(gè)沒有編碼的=字符搜索信息來決定是否命令行被使用了,如果它發(fā)現(xiàn)了,命令行就不使用。這個(gè)就委托客戶端在ISINDEX查詢中編碼等于號(hào),這個(gè)被認(rèn)為是安全的。

下面舉個(gè)例子,使用網(wǎng)絡(luò)命令和ISINDEX界面來觀察"httpd"。你將會(huì)看到腳本會(huì)自動(dòng)利用/cgi-bin/finger?httpd來調(diào)用它本身并且將會(huì)在命令行執(zhí)行"finger httpd" ,還會(huì)為你輸出結(jié)果。

如果服務(wù)器沒有在QUERY_STRING找到"=" ,那么命令行不會(huì)被使用,任何的解碼也沒有被執(zhí)行。這個(gè)查詢利用適當(dāng)?shù)腇ORM提交解碼器來維持于處理的聯(lián)系。同時(shí),作為一個(gè)例子,可以為提交"httpd=name"使用超級(jí)連接到網(wǎng)絡(luò)指令腳本。因?yàn)镼UERY_STRING包含了一個(gè)未編碼的"=",所以沒有被解碼,這個(gè)腳本不知道它提交了一個(gè)有效的查詢,而只是給你一個(gè)缺省的網(wǎng)絡(luò)指令表單。

如果服務(wù)器發(fā)現(xiàn)它因?yàn)閮?nèi)部限制(比如exec()或者/bin/sh命令行限制)兒不能發(fā)送字符串,服務(wù)器應(yīng)該包含NO命令行信息并且提供沒有解碼的查詢信息在環(huán)境變量QUERY_STRING中。