當前位置:首頁 » 網頁前端 » web伺服器與cgi
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

web伺服器與cgi

發布時間: 2022-11-21 22:10:01

『壹』 CGI是什麼意思呀

公共網關介面(Common Gateway Interface,CGI)是Web 伺服器運行時外部程序的規范,按CGI 編寫的程序可以擴展伺服器功能。

CGI 應用程序能與瀏覽器進行交互,還可通過數據API與資料庫伺服器等外部數據源進行通信,從資料庫伺服器中獲取數據。格式化為HTML文檔後,發送給瀏覽器,也可以將從瀏覽器獲得的數據放到資料庫中。

通過CGI協議,再結合已搭建好的web應用程序,就可以讓web server也能"處理"動態請求(或者說,當用戶訪問某個特定資源時,可以觸發執行某個web應用程序來實現特定功能)。


(1)web伺服器與cgi擴展閱讀

CGI規范定義了Web伺服器如何向擴展應用程序發送消息,在收到擴展應用程序的信息後又如何進行處理等內容。

對於許多靜態的HTML網頁無法實現的功能,通過 CGI可以實現,比如表單的處理、對資料庫的訪問、搜索引擎、基於Web的資料庫訪問等等。

當CGI進程接收到web server的請求後,調用search程序並執行,同時還會傳遞參數給search程序。search執行結束後,CGI進程/線程將處理結果返回給web server,web server再返回給瀏覽器。

『貳』 CGI是什麼

什麼是CGI
1. 定義:
CGI(Common Gateway Interface)是HTTP伺服器與你的或其它機器
上的程序進行「交談」的一種工具,其程序須運行在網路伺服器上。

2. 功能:
絕大多數的CGI程序被用來解釋處理傑自表單的輸入信息,並在服
務器產生相應的處理,或將相應的信息反饋給瀏覽器。CGI程序使
網頁具有交互功能。

3. 運行環境:
CGI程序在UNIX操作系統上CERN或NCSA格式的伺服器上運行。
在其它操作系統(如:windows NT及windows95等)的伺服器上
也廣泛地使用CGI程序,同時它也適用於各種類型機器。

4. CGI處理步驟:
⑴通過Internet把用戶請求送到伺服器。
⑵伺服器接收用戶請求並交給CGI程序處理。
⑶CGI程序把處理結果傳送給伺服器。
⑷伺服器把結果送回到用戶。

5. CGI伺服器配置:
CGI程序不是放在伺服器上就能順利運行,如果要想使其在伺服器
上順利的運行並准確的處理用戶的請求,則須對所使用的伺服器進
行必要的設置。
配置:根據所使用的伺服器類型以及它的設置把CGI程序放在某一
特定的目錄中或使其帶有特定的擴展名。
⑴CREN格式伺服器的配置:
編輯CREN格式伺服器的配置文件通常為/etc/httpd.conf/
在文件中加入:Exec cgi-bin/*/home/www/cgi-bin/*.exec
命令中出現的第一個參數cgi-bin/*指出了在URL中出現的目錄
名字,並表示它出
現在系統主機後的第一個目錄中,如:
http://edgar.stern.nyn.e/cgi-bin/
命令中的第二個參數表示CGI程序目錄放在系統中的真實路徑。
CGI目錄除了可以點網路文件放在同一目錄中,也可以放在系統
的其它目錄中,但必須保證在你的系統中也具有同樣的目錄。在
對伺服器完成設置後,須重新啟動伺服器(除非HTTP伺服器是用
inetd啟動的)。
⑵NCSA格式伺服器的配置
在NCSA格式伺服器上有兩種方法進行設置:
①在srm.conf文件(通常在conf目錄下)中加入:
Script Alias/cgi-bin/cgi-bin/
Script Alias命令指出某一目錄下的文件是可執行程序,且這
個命令是用來執行
這些程序的;此命令的兩個參數與CERN格式伺服器中的Exec命
令的參數的含意一樣。
②在srm.conf文件加入:
Add type application/x-httpd-cgi.cgi
此命令表示在伺服器上增加了一種新的文件類型,其後第一個
參數為CGI程序的MIME類型,第二個參數是文件的擴展名,表
示以這一擴展名為擴展名的文件是CGI程序。
在用上述方法之一設置伺服器後,都得重新啟動伺服器(除非
HTTP伺服器是用inetd啟動的)。

什麼是IIS
首先,Internet Information Server的縮寫為(IIS)是一個World Wide Web server。Gopher server和FTP server全部包容在裡面。 IIS意味著你能發布網頁,並且有ASP(Active Server Pages)、JAVA、VBscript產生頁面,有著一些擴展功能。IIS支持一些有趣的東西,象有編輯環境的界面(FRONTPAGE)、有全文檢索功能的(INDEX SERVER)、有多媒體功能的(NET SHOW)
其次,IIS是隨Windows NT Server 4.0一起提供的文件和應用程序伺服器,是在Windows NT Server上建立Internet伺服器的基本組件。它與Windows NT Server完全集成,允許使用Windows NT Server內置的安全性以及NTFS文件系統建立強大靈活的Internet/Intranet站點。
1.IIS的安裝
IIS可以在Windows NT安裝時安裝,也可以安裝完Windows NT後用「控制面板」中的「添加/刪除程序」安裝,安裝路徑為光碟中的:i386\inetsrv\inetstp.exe。安裝過程中要求添加相應的ODBC驅動程序。
2.IIS的管理
IIS通過ISM(Internet Service Manager)進行管理,ISM有兩個版本,一個以普通應用程序的方式運行,一個在Web瀏覽器中運行,二者的差別在於後者不能啟動和停止Internet服務。
ISM(應用程序方式)管理界面:在「查看」菜單中選擇「查看報告」、「伺服器查看」、「服務查看」可以得到三種視圖:
報告視圖 預設的視圖,按字母順序依次顯示所選擇的計算機及其上安裝的服務。通過該視圖可以:連到伺服器並顯示其屬性對話框;啟動、停止或暫停服務;可選擇顯示哪些服務(FTP、WWW、GOPHER)。
伺服器視圖 顯示網路上運行Internet服務的計算機名。打開該計算機可以看到正在運行的Internet服務。雙擊伺服器名可以顯示其屬性對話框。
服務視圖 列出所有的Internet服務。打開服務可以看到哪些計算機運行該服務。雙擊服務下的計算機名,可以打開該計算機上的服務屬性對話框。
3.IIS安全性
IIS的安全性核心依賴於Windows NT Server內置的安全性,IIS自身也內置了安全性。包括加密、驗證以及IIS擴展等。
(1)Windows NT Server安全性:Windows NT提供用戶賬戶安全性、NTFS安全性。
①用戶賬戶安全性:Windows NT要求用戶提供有效賬戶以及口令才能訪問Windows NT。IIS安裝時創建Internet Guest 賬戶,預設情況下,所有IIS用戶都使用這個賬戶登錄到伺服器,這個賬戶只允許本地登錄,沒有其他權利。假如允許遠程用戶用登錄Internet Guest 賬戶登錄就不必給遠程用戶用戶名及口令,Windows NT以Internet Guest 賬戶對待。
②NTFS文件安全性:NTFS提供安全性,可以控制對數據文件的訪問,應當將數據文件放在NTFS分區。NTFS可以精確控制哪些用戶和組以什麼許可權訪問文件和目錄。
(2)IIS的安全性:除了Windows NT的安全措施外,IIS本身也有安全控制能力。通過賬戶名及口令控制訪問:可以配置WWW服務要求用戶連入伺服器之前提供一個合法的用戶名及口令。

『叄』 web頁面可以從一個連接到另一個,主要用的是什麼來轉移的

Web頁面可以從一個連接到另一個上,主要應用的是HTML中的超鏈接來轉移。

『肆』 Web中的CGI是什麼她指的是什麼

CGI(common gate internetgace)通用網關介面,是一段程序伺服器上供客戶端HTML頁面的介面,通俗講CGI就像是一座橋,網頁和 WEB伺服器中的執行程序連接起來,把HTML接受的指令傳遞給伺服器,把伺服器執行的結果返還給HTML頁;CGI可以實現處理表格,資料庫查詢,送電子郵件等許多操作,常見的CGI就是計數器。CGI使網頁變得不是靜態的,是互動式的。

『伍』 討論一下為什麼cgi出現的漏洞對web伺服器的安全威脅最大

cgi是common
gateway
interface(公用網關介面)的簡稱,並不特指一種語言。web伺服器的安全問題主要包括:1)web伺服器軟體編制中的bug;2)伺服器配置的錯誤。可能導致cgi源代碼泄漏,物理路徑信息泄漏,系統敏感信息泄漏或遠程執行任意命令。cgi語言漏洞分為以下幾類:配置錯誤、邊界條件錯誤、訪問驗證錯誤、來源驗證錯誤、輸入驗證錯誤、策略錯誤、使用錯誤等等。cgi漏洞大多分為一下幾種類型:暴露不該暴露的信息、執行不該執行的命令、溢出。

『陸』 iis8.5web伺服器上的"isapi 和cgi 禁止"怎麼啟用

添加 ISAPI 和 CGI 限制
主要有四種方式:①使用用戶界面 (UI)。②在命令行窗口中運行 Appcmd.exe 命令。③直接編輯配置文件。④編寫 WMI 腳本

一:使用用戶界面(UI)
1、打開 IIS 管理器,然後導航至您要配置的級別。
2、在「功能視圖」中,雙擊「ISAPI 和 CGI 限制」。
3、在「操作」窗格中,單擊「添加」。
4、在「添加 ISAPI 或 CGI 限制」對話框的「ISAPI 或 CGI 路徑」文本框中鍵入該 .dll 或 .exe 文件的路徑,或者單擊瀏覽按鈕 (...) 導航至該文件的位置。
5、在「描述」文本框中,鍵入有關限制的簡要描述。
6、選中「允許執行擴展路徑」,以允許限制自動運行。 如果未選中此選項,限制的狀態將默認為「不允許」。 以後,您可以通過選擇限制並在「操作」窗格中單擊「允許」來允許該限制。
7、單擊「確定」。

二:命令行
若要添加 ISAPI 和 CGI 限制,請使用以下語法:
appcmd set config /section: isapiCgiRestriction /+"[path=' string ',description=' string ',allowed='True | False']"

變數 path string 是 CGI 或 ISAPI 程序的 path。 變數 description string 用於描述該 CGI 或 ISAPI 程序。 allowed 屬性用於確定 IIS 是否可以運行該 CGI 或 ISAPI 程序。 例如,若要創建啟用 ISAPI 擴展 Test ISAPI 的 ISAPI 限制,請在命令提示符處鍵入以下命令,然後按 Enter:
appcmd set config /section: isapiCgiRestriction /+"[path=' %windir%\system32\inetsrv\test.dll ',description=' Test ISAPI ',allowed='True']"

三:配置
本主題中的過程會影響以下配置元素:
<add> ,此元素在如下元素下面: <isapiCgiRestriction>

四:WMI
請使用以下 WMI 類、方法或屬性執行此過程:
IsapiCgiRestrictionSection.Add

相關知識點介紹:
ISAPI 和 CGI 限制是允許在伺服器上執行動態內容的請求處理程序。 這些限制為 CGI 文件 (.exe) 或 ISAPI 擴展 (.dll)。 如果 IIS 配置系統允許添加自定義 ISAPI 或 CGI 限制,則您可以添加它們。

『柒』 cgi是什麼意思

cgi是通用網關介面。

通用網關介面(Common Gateway Interface/CGI)是一種重要的互聯網技術,可以讓一個客戶端,從網頁瀏覽器向執行在網路伺服器上的程序請求數據。CGI描述了伺服器和請求處理程序之間傳輸數據的一種標准。

最初,CGI是在1993年由美國國家超級電腦應用中心(NCSA)為NCSA HTTPdWeb伺服器開發的。這個Web伺服器使用了UNIXshell環境變數來保存從Web伺服器傳遞出去的參數,然後生成一個運行CGI的獨立的進程。

cgi變通方法:

如果代碼只是偶爾改變的話,我們可以在伺服器產生一個新的進程在編譯代碼之前進行處理。有一個例子是FastCGI,當然還包括其它編寫的加速器,它會在第一次調用腳本時,在系統的某個地方保存腳本編譯過的版本。

這樣對這個文件以後的請求就會自動轉向這個編譯過的代碼,而不用每次調用腳本解釋器來解釋腳本。當更改了腳本,加速器的臨時緩存會被清空來保證調用的是新的版本的腳本。

『捌』 計算機web技術介紹

計算機web技術介紹

Web 客戶端的主要任務是展現信息內容。Web客戶端設計技術主要包括:HTML語言、Java Applets、 腳本程序、 CSS、 DHTML、插件技術以及VRML技術。下面是我給你帶來的web技術相關知識,歡迎閱讀!

1) HTML語言。

HTML是Hypertext Markup Language(超文本標記語言)的縮寫,它是構成Web頁面的主要工具。

2)Java Applets,

即Java 小應用程序。使用 Java語言創建小應用程序, 瀏覽器可以將Java Applets從伺服器下載到瀏覽器,在瀏覽器所在的機器上運行。Java Applets可提供動畫、音頻和音樂等多媒體服務。1996年,著名的 Netscape瀏覽器在其2.0版本中率先提供了對Java Applets的支持,隨後,Microsoft的IE3.0也在這一年開始支持Java技術。Java Applets使得Web頁面從只能展現靜態的文本或圖像信息,發展到可以動態展現豐富多樣的信息。動態Web頁面,不僅僅表現在網頁的視覺展示方式上,更重要的是他可以對網頁中的內容進行控制與修改。

3)腳本程序。

他是嵌入在HTML文檔中的程序。使用腳本程序可以創建動態頁面,大大提高交互性。用於編寫腳本程序的語言主要有JavaScript和VBScript。JavaScript由Netscape公司開發,具有易於使用、變數類型靈活和無須編譯等特點。VBScript由Microsoft公司開發,與JavaScript一樣,可用於設計交互的Web頁面。要說明的是,雖然JavaScript和VBScript語言最初都是為創建客戶端動態頁面而設計的,但他們都可以用於服務端腳本程序的編寫。客戶端腳本與服務端腳本程序的區別在於執行的位置不同,前者在客戶端機器執行,而後者是在Web服務端機器執行。

4) CSS(Cascading Style Sheets),

即級聯樣式表。通過在HTML文檔中設立樣式表,可以統一控制HTML中各標志顯示屬性。1996年底,W3C提出了CSS的建議標准,同年,IE3.0引入了對CSS的支持。CSS大大提高了開發者對信息展現格式的控制能力,1997年的Netscape4.0不但支持CSS,而且增加了許多Netscape公司自定義的動態HTML標記,這些標記在CSS的基礎上,讓HTML頁面中的各種要素“活動”了起來。

5) DHTML(Dynamic HTML),

即動態HTML。1997年,Microsoft發布了IE4.0,並將動態HTML標記、CSS和動態對象(Dynamic Object Model)發展成為一套完整、實用、高效的客戶端開發技術體系,Microsoft稱其為DHTML。同樣是實現HTML頁面的動態效果,DHTML技術無須啟動Java虛擬機或其他 腳本環境,可以在瀏覽器的支持下,獲得更好的展現效果和更高的執行效率。

6) 插件技術。

這一技術大大豐富了瀏覽器的多媒體信息展示功能,常見的插件包括QuickTime、Realplayer、Media Player和Flash等。為了在HTML頁面中實現音頻、視頻等更為復雜的多媒體應用,1996年的Netscape2.0成功地引入了對QuickTime插件的支持,插件這種開發方式也迅速風靡了瀏覽器的世界。同年,在Windows平台上,Microsoft將COM和 ActiveX技術應用於 IE瀏覽器中,其推出的IE3.0正式支持在HTML頁面中插入 ActiveX控制項,這為其他廠商擴展Web客戶端的信息展現方式提供了方便的途徑。1999年,Realplayer插件先後在Netscape和IE瀏覽器中取得了成功,與此同時,Microsoft自己的媒體播放插件Media Player也被預裝到了各種Windows版本之中。同樣具有重要意義的還有Flash插件的問世:20世紀90年代初期,Jonathan Gay在FutureWave公司開發了一種名為Future Splash Animator 的二維矢量動畫展示工具,1996年,Macromedia公司收購了FutureWave,並將Jonathan Gayde 的發明改名為我們熟悉的Flash。從此, Flash動畫成了Web開發者表現自我、展示個性的最佳方式。

7)VRML技術。Web已經由靜態步入動態,並正在逐漸由二維走向三維,將用戶帶入五彩繽紛的虛擬現實世界。VRML是目前創建三維對象最重要的工具,它是一種基於文本的語言,並可運行於任何平台。

Web服務端技術

與Web客戶端技術從靜態向動態的演進過程類似,Web 服務端的開發技術也是由靜態向動態逐漸發展、完善起來的。Web伺服器技術主要包括伺服器、CGI、 PHP、ASP、ASP.NET、Servlet和JSP技術。

1)伺服器技術。

主要指有關Web伺服器構建的基本技術,包括伺服器策略與結構設計、伺服器軟硬體的.選擇及其他有關伺服器構建的問題。

2) CGI(Common Gateway Interface)技術,

即公共網關介面技術。最早的Web伺服器簡單地響應瀏覽器發來的 HTTP請求,並將存儲在伺服器上的 HTML文件返回給瀏覽器。CGI是第一種使伺服器能根據運行時的具體情況,動態生成HTML頁面的技術。1993年,NCSA(National Center 佛日Supercomputing Applications)提出CGI1.0 的 標准草案,之後分別在1995 年和1997年,制定了CGI1.1和1.2標准。CGI技術允許服務端的 應用程序根據客戶端的請求,動態生成HTML頁面,這使客戶端和服務端的動態信息交換成為了可能。隨著CGI技術的普及,聊天室、論壇、電子商務、信息查詢、全文檢索等各式各樣的Web應用蓬勃興起,人們可以享受到信息檢索、信息交換、信息處理等各更為便捷的信息服務了。

3) PHP(Personal Home Page Tools)技術。

1994年,Rasmus Lerdorf發明了專用於Web服務端編程的PHP語言。與以往的CGI程序不同,PHP語言將HTML代碼和PHP指令合成為完整的服務端動態頁面,Web應用的開發者可以用一種更加簡便、快捷的方式實現動態Web功能。

4) ASP(Active Server Pages)技術,

即活動伺服器頁面技術。1996年,Microsoft借鑒Php的思想,在其Web伺服器IIS 3.0中引入了ASP技術。ASP使用的腳本語言是我們熟悉的VBScript和Javascript。藉助Microsoft Visual Studio等開發工具在市場上的成功,ASP迅速成為Windows系統下Web服務端的主流開發技術。

5)ASP.NET技術。

由於它使用C#語言代替ASP技術的JavaScripe腳本語言,用編譯代替了逐句解釋,提高了運行效率,ASP.NET是建立.NET Framework的公共語言運行庫上的編程框架,可用於在伺服器上生成功能強大的Web應用程序,代替以前在WEB網頁中加入ASP腳本代碼,使界面設計與程序設計以不同的文件分離,復用性和維護性得到提高,已經成為面向下一代企業級網路計算的Web平台,是對傳統ASP技術的重大升級和更新。

6) Servlet、 JSP技術。

以Sun公司為首的Java陣營於1997和1998年分別推出了Servlet和JSP技術。JSP的組合讓Java開發者同時擁有了類似CGI程序的集中處理功能和類似PHP的HTML嵌入功能,此外,Java的運行時編譯技術也大大提高了Servlet和JSP的執行效率。Servlet和JSP被後來的JavaEE平台吸納為核心技術。

;

『玖』 關於cgi是什麼東西又有何作用用到哪方面

common gateway interface通用網關介面

在現在的動態網頁技術出現之前,使用這個來實現動態網頁,比如查詢一個東西,web伺服器通過一定的方法將用戶輸入的數據提交給一個應用程序,應用程序運行的輸出結果通過web伺服器返回給用戶,CGI規定了web伺服器與應用程序交互的辦法,只有web伺服器和應用程序都遵守CGI,二者才能配合起來,實現動態網頁

『拾』 自己寫的web伺服器如何調用CGI

web前端不需要理會CGI
CGI居於web伺服器端.
CGI通過環境變數獲取http請求,響應信息以及首部,通過stdin獲取http主體,通過stdout輸出http主體.從而完成http動態頁面的構建.