莫相离 发表于 2015-1-16 22:55:31

ASP编程:第三方服务器组件

ASP由于使用了COM组件所以它会变的十分强大,但是这样的强大由于WindowsNT系统最初的设计问题而会引发大量的安全问题。只要在这样的组件或是操作中一不注意,哪么外部攻击就可以取得相当高的权限而导致网站瘫痪或者数据丢失;服务器
在本节中,扼要概述ASP体系中要用到的一些罕见的商用和收费的第三方服务器组件。
开辟Web网站时,必需完成的两个义务是办理兼容性和向服务器上载文件。上面将先容的两个组件能有助于完成上述的义务,并且还先容别的一个组件,可代替Microsoft的RegistryAccess组件(该组件通常为从响应的Web网站失掉的)。
在附录G中,给出了一些最为有效的组件的清单。

6.3.1BrowserHawk组件
良多人利用由IIS及ASP供应的BrowserCapability组件时,城市碰到一个贫苦,扫瞄器的界说文件(browscap.ini)请求按期的保护或交换以跟得上新版扫瞄器的请求。
Cyscape公司供应了broscap.ini的晋级版本,同时供应了他们本人的能在服务器端和客户端举行扫瞄器检测的组件。并且,还供应了便利的图形界面用于检察及修正本人的扫瞄器界说文件,如-26所示:

能够看到关于每一个扫瞄器范例,都有很多属性,如静态HTML、款式表、JavaScript版本、文件上载才能、SSL(SecureSocketsLayer)撑持、操纵体系细节和言语等。与Microsoft的BrowserCapability组件一样,也能够增加本人的内容。这里另有一个十分有效的具有导游作风的特征,能匡助我们把新的扫瞄器范例增加到界说文件中,如-27所示:

BrowserHawk组件具有辩认出新的扫瞄器(接纳一项特别的形式婚配算法)和那些缺省撑持的一系列扫瞄器的才能,包含Opera和WebTV。利用过滤功效增加新属性也很简单。
固然,BrowserHawk组件的最年夜长处多是按期对来自Cyscape公司的Web网站的扫瞄器界说文件新版本举行主动检测,同时把一些内容吸取兼并到以后利用的界说文件里,这意味着没有需要不休地将界说文件拷贝到一切的Web服务器中。
BrowserHawk组件利用起来对照简单,与BrowserCapability组件是兼容的,必要做的是在创立组件实例的Server.CreateObject办法或<OBJECT>元素中改动ProgID。把“MSWC.BrowserType”改成“cyScape.browserObj”。
SetobjBCap=Server.CreateObject(“cyScape.browserObj”)
对大概呈现的成绩,应当浏览BrowserHawk组件的文档。可从Cyscape公司的Web网站(http://www.cyscape.com)下载BrowserHawk的拷贝。本章中已包括了利用BrowserHawk组件的示例网页,使读者可以懂得怎样利用BrowserHawk组件,在Chapter06目次下的BrowserHawk子目次中可查找到这个示例页面。
6.3.2SA-FileUP组件
在良多Web网站上,一个惯例请求是,服务器承受客户机发送的文件的才能怎样?在IIS4.0里,Microsoft供应了一个名为PostingAcceptor组件完成这项事情,IIS5.0和ASP3.0的尺度安装中没有该组件,假如安装SiteServerExpress的话,则必要包括这一组件。能够从MicrosoftWeb网站http://www.microsoft.com/windows/software/webpost/post_accept.htm高低载该组件。
但是,良多人发明PostingAcceptor组件在功效上有范围性且很难编程。如今一个盛行的替换品是来自SoftwareArtisans的SA-FileUP组件。与PostingAcceptor组件(仅是ISAPI型过滤器)分歧,SA-FileUP组件是一个真实的ActiveXDLL服务器组件,简单集成到ASP网页中。这意味着可使用其余ASP页面或组件上利用的不异的有关设定页面平安回护及限定用户会见的手艺。该组件也可在MTS/COM+的情况中上运转。
利用SA-FileUP组件的教程可在http://www.activeserverpages.com/upload/站点上找到,以是这里只给出了却果。本章的示例中包括了利用该组件的示例页面(在Chapter06目次下的SAFileUP子目次中),可用来懂得怎样利用该组件,有需要的话可从SoftwareArtisans网站http://www.softartisans.com/高低载SA-FileUP的拷贝。
利用SA-FileUP组件
SA-FileUP组件的示例页面创立了一个复杂的页面,包括一个FileUpload元素和一个按钮,并利用了HTML的INPUT元素,如-28所示:

<FORMACTION="safileup_response.asp"
ENCTYPE="MULTIPART/FORM-DATA"METHOD="POST">

<INPUTTYPE="FILE"NAME="FILE1">

<INPUTTYPE="SUBMIT"NAME="SUB1"VALUE="UploadFile">

</FORM>
用户提交窗体时,个中的内容传送给了服务器,而且ASP页面创立了一个组件实例,而且入手下手向服务器上传信息,今后组件前往一系列形貌上传的文件的数据,如-29所示:

SA-FileUP组件读取文件并把它以尺度的磁盘文件或二进制的数据库数据的情势暂存在服务器上。有了它,就可以用ASP把持上传历程、限定上传文件的巨细,乃至删除上传文件,也能静态地改动其名字和上传文件的地位。

6.3.3RegEx注册表会见组件
MicrosoftIIS4.0供应的一个示例组件可以会见服务器上的体系注册表。这个功效有助于反省诸如安装的软件的版本,大概反省IIS和操纵体系利用的各类参数。
在IIS5.0中作废了这个组件,但假如必要这个功效,能够从其他商用版本中取得。RegEx组件是个中之一,可以会见当地呆板注册表的任何部分(假设同意以后用户会见)。在ASP页面的匿名会见中,以后用户是IUSR_machinename帐户。
1.RegEx组件的成员
RegEx组件供应了四个读写注册表的办法和一个会见外部组件版本信息的办法,如表6-11所示。全体信息和文档随RegEx组件供应,其测试版本能够从http://www.stonebroom.com/下载。其附带的示例页面包括在本书供应的示例中,但是你必要本人下载组件自己。
表6-11RegEx组件办法及申明
方法
说明

GetRegValue(RegistryHive,SubKeyString)
从注册表中前往给定的子键的缺省值,假如其值不克不及会见的话,则前往一个空字符串

SetRegValue(RegistryHive,SubKeyString,
NewValue)
在给定的子键中,创立或更新“缺省”值,把数据范例设置成Reg_SZ(字符串)。假如更新乐成的话,前往True;不然,前往False

GetRegValueEx(RegistryHive,SubKeyString,
ValueMane,ValueType)
从特定的子键中前往被定名的值,用前往数值的数据范例,更新办法的最初一个参数所指定的变量。假如数值不克不及会见的话,则前往一个空字符串,而且REG_ERROR作为数据范例

SetRegValueEx(RegistryHive,SubKeyString,
ValueName,NewValue,ValueType)
在给定的子键中,创立或更新被定名的数值,把数据范例设置为办法的最初一个参数指定的范例data_type。假如更新乐成的话,前往True;不然前往False

GetInternalVersionNumber()
前往组件的外部版本号,假如是一个测试版本,前往值当中也包括这些信息

2.利用RegEx组件
RegEx组件供应了一个用VisualBasic编写的示例程序,可用来实验个中包括的办法,实例程序利用RegEx组件,同意对体系注册表的任何部分以所撑持的数据范例之一或以缺省的字符串数据范例读写数据,如-30所示。在举行任何更新之前会显现一个告诫以避免不测操纵。

别的另有一个对照复杂的ASP实例,可显现Web服务器注册表中的一些数据,而且同意读和设置一个“测试”子键。能够修正这个页面,在你本人的使用程序中利用时没无限制。-31所示的是在NT4和IIS4.0上运转的了局。


要记着,改动注册表中的数值大概招致体系不一般地事情,编纂注册表内容这前应当备份注册表文件。

6.4小结
本章会商了ASP怎样使用服务器组件增添其他组件所不克不及供应的特征,也思索了服务器组件和其他范例的ASP工具(如ASP内置的工具和在剧本运转期库中的工具)的区分。
在研讨由ASP3.0和IIS5.0供应的可安装组件以后,先容了三个供应惯例请求的功效的商用组件,也列出了几个能够从Web高低载的通用组件,个中有一些是收费的大概是共享/测试版本。但是,至今我们另有一个很主要的组件没有触及到,它就是ADO。在会商这个成绩之前,先来会商另外一个基础成绩:毛病处置和程序调试。


只要你想学,就没什么优缺点,上面那位大哥已经把网上的评论说了,但我认为想学哪个都一样,不然它就不可能在当今时代数字艺术方面存活到今天

爱飞 发表于 2015-1-20 06:11:10

从事这个行业,那么你可以学ASP语言,简单快速上手,熟练dreamweav排版,写asp代码,熟练photoshop处理图片,打好基础就行了

简单生活 发表于 2015-1-28 20:31:17

跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组

老尸 发表于 2015-2-5 22:48:49

Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点)

飘灵儿 发表于 2015-2-14 01:16:02

Session:这个存储跟客户端会话过程的数据,默认20分钟失效

兰色精灵 发表于 2015-3-4 03:42:09

如何学好ASP,以前也有人问过,把回答给你转过来看看能否对你有帮助:

若天明 发表于 2015-3-11 16:06:01

我想问如何掌握学习节奏(先学什么再学什么)最好详细点?

山那边是海 发表于 2015-3-19 01:47:35

我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。

第二个灵魂 发表于 2015-3-27 03:09:33

虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。
页: [1]
查看完整版本: ASP编程:第三方服务器组件