‘壹’ 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动态页面的构建.