CGI圖文說明教程(10)CGI 規范之3
發表時間:2023-12-26 來源:明輝站整理相關軟件相關文章人氣:
[摘要]CGI 規范CGI命令行選項規范 命令行只用在ISINDEX查詢的情況。它不使用在HTML表單或者任何沒定義的查詢類型中。服務器應該為一個沒有編碼的=字符搜索信息來決定是否命令行被使用了,如果它發現了,命令行就不使用。這個就委托客戶端在ISINDEX查詢中編碼等于號,這個被認為是安全的。下面舉個...
CGI 規范
CGI命令行選項規范
命令行只用在ISINDEX查詢的情況。它不使用在HTML表單或者任何沒定義的查詢類型中。服務器應該為一個沒有編碼的=字符搜索信息來決定是否命令行被使用了,如果它發現了,命令行就不使用。這個就委托客戶端在ISINDEX查詢中編碼等于號,這個被認為是安全的。
下面舉個例子,使用網絡命令和ISINDEX界面來觀察"httpd"。你將會看到腳本會自動利用/cgi-bin/finger?httpd來調用它本身并且將會在命令行執行"finger httpd" ,還會為你輸出結果。
如果服務器沒有在QUERY_STRING找到"=" ,那么命令行不會被使用,任何的解碼也沒有被執行。這個查詢利用適當的FORM提交解碼器來維持于處理的聯系。同時,作為一個例子,可以為提交"httpd=name"使用超級連接到網絡指令腳本。因為QUERY_STRING包含了一個未編碼的"=",所以沒有被解碼,這個腳本不知道它提交了一個有效的查詢,而只是給你一個缺省的網絡指令表單。
如果服務器發現它因為內部限制(比如exec()或者/bin/sh命令行限制)兒不能發送字符串,服務器應該包含NO命令行信息并且提供沒有解碼的查詢信息在環境變量QUERY_STRING中。