




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、维护ASP应用程序的安全Web服务器提供了各种方法来保护您的ASP应用程序免受未授权的访问和篡改。在您读完本主题下的安全信息之后,请花一定的时间仔细检查一下您的WindowsNT和Web服务器安全性文档。详细信息,请参阅安全性。NTFS权限您可以通过为单独的文件和目录应用NTFS访问权限来保护ASP应用程序文件。NTFS权限是Web服务器安全性的基础,它定义了一个或一组用户访问文件和目录的不同级别。当拥有WindowsNT有效帐号的用户试图访问一个有权限限制的文件时,计算机将检查文件的访问控制表(ACL)。该表定义了不同用户和用户组所被赋予的权限。如果用户的帐号具有打开文件的权限,计算机则允许
2、该用户访问文件。例如,Web服务器上的Web应用程序的所有者需要有摳臄权限来查看、更改和删除应用程序的.asp文件。但是,访问该应用程序的公共用户应仅被授予撝欢翑权限,以便将其限制为只能查看而不能更改应用程序的Web页。维护Global.asa的安全为了充分保护ASP应用程序,一定要在应用程序的Global.asa文件上为适当的用户或用户组设置NTFS文件权限。如果Global.asa包含向浏览器返回信息的命令而您没有保护Global.asa文件,则信息将被返回给浏览器,即便应用程序的其他文件被保护。有关配置NTFS权限的详细信息,请参阅访问控制。注意一定要对应用程序的文件应用统一的NTFS权
3、限。例如,如果您不小心过度限制了一应用程序需要包含的文件的NTFS权限,则用户可能无法查看或运行该应用程序。为了防止此类问题,在为您的应用程序分配NTFS权限之前应仔细计划。Web服务器权限您可以通过配置您的Web服务器的权限来限制所有用户查看、运行和操作您的ASP页的方式。不同于NTFS权限提供的控制特定用户对应用程序文件和目录的访问方式,Web服务器权限应用于所有用户,并且不区分用户帐号的类型。对于要运行您的ASP应用程序的用户,在设置Web服务器权限时,必须遵循下列原则:对包含.asp文件的虚拟目录允许摱翑或摻疟緮权限。对.asp文件和其他包含脚本的文件(如.htm文件等)所在的虚目录允
4、许摱翑和摻疟緮权限。对包含.asp文件和其他需要撝葱袛权限才能运行的文件(如.exe和.dll文件等)的虚目录允许摱翑和撝葱袛权限。有关配置Web服务器权限的详细信息,请参阅访问控制。脚本映射文件应用程序的脚本映射保证了Web服务器不会意外地下载.asp文件的源代码。例如,即使您为包含了某个.asp文件的目录设置了摱翑权限,只要该.asp文件隶属于某个脚本映射应用程序,那么您的Web服务器就不会将该文件的源代码返回给用户。Cookie安全性ASP使用SessionIDcookie跟踪应用程序访问或会话期间特定的Web浏览器的信息。这就是说,带有相应的cookie的HTTP请求被认为是来自同一W
5、eb浏览器。Web服务器可以使用SessionIDcookies配置带有用户特定会话信息的ASP应用程序。例如,如果您的应用程序是一个允许用户选择和购买CD唱盘的联机音乐商店,就可以用SessionID跟踪用户漫游整个应用程序时的选择。SessionID能否被黑客猜中?为了防止计算机黑客猜中SessionIDcookie并获得对合法用户的会话变量的访问,Web服务器为每个SessionID指派一个随机生成号码。每当用户的Web浏览器返回一个SessionIDcookie时,服务器取出SessionID和被赋予的数字,接着检查是否与存储在服务器上的生成号码一致。若两个号码一致,将允许用户访问会话
6、变量。这一技术的有效性在于被赋予的数字的长度(64位),此长度使计算机黑客猜中SessionID从而窃取用户的活动会话的可能性几乎为0。加密重要的SessionIDCookie截获了用户sessionIDcookie的计算机黑客可以使用此cookie假冒该用户。如果ASP应用程序包含私人信息,信用卡或银行帐户号码,拥有窃取的cookie的计算机黑客就可以在应用程序中开始一个活动会话并获取这些信息。您可以通过对您的Web服务器和用户的浏览器间的通讯链路加密来防止SessionIDcookie被截获。有关加密的详细信息,请参阅安全性。使用身份验证机制保护被限制的ASP内容您可以要求每个试图访问被限
7、制的ASP内容的用户必须要有有效的WindowsNT帐号的用户名和密码。每当用户试图访问被限制的内容时,Web服务器将进行身份验证,即确认用户身份,以检查用户是否拥有有效的WindowsNT帐号。Web服务器支持以下几种身份验证方式:基本身份验证提示用户输入用户名和密码。WindowsNT请求/响应式身份验证从用户的Web浏览器通过加密方式获取用户身份信息。然而,Web服务器仅当禁止匿名访问或WindowsNT文件系统的权限限制匿名访问时才验证用户身份。详细信息,请参阅关于身份验证。保护元数据库访问元数据库的ASP脚本需要Web服务器所运行的计算机的管理员权限。在从远程计算机上运行这些脚本时,
8、须经已通过身份验证的连接,如使用WindowsNT请求/响应验证方式进行连接。应该为管理级.asp文件创建一个服务器或目录并将其目录安全验证方式设置为WindowsNT请求/响应式身份验证。目前,仅MicrosoftInternetExplorerversion2.0或更高版本支持WindowsNT请求/响应式身份验证。使用SSL维护应用程序的安全SecureSocketsLayer(SSL)3.0协议作为Web服务器安全特性,提供了一种安全的虚拟透明方式来建立与用户的加密通讯连接。SSL保证了Web内容的验证,并能可靠地确认访问被限制的Web站点的用户的身份。通过SSL,您可以要求试图访问被
9、限制的ASP应用程序的用户与您的服务器建立一个加密连接;以防用户与应用程序间交换的重要信息被截取。详细信息,请参阅加密。维护包含文件的安全如果您从位于没有保护的虚拟根目录中的.asp文件中包含了位于启用了SSL的目录中的文件,则SSL将不被应用于被包含文件。因此,为了保证应用SSL,应确保包含及被包含的文件都位于启用了SSL的目录中。客户资格认证控制对您的ASP应用程序访问的一种十分安全的方法是要求用户使用客户资格登录。客户资格是包含用户身份信息的数字身份证,它的作用与传统的诸如护照或驾驶执照等身份证明相同。用户通常从委托的第三方组织获得客户资格,第三方组织在发放资格证之前确认用户的身份信息。
10、(通常,这类组织要求姓名、地址、电话号码及所在组织名称;此类信息的详细程度随给予的身份等级而异。)每当用户试图登录到需要资格验证的应用程序时,用户的Web浏览器会自动向服务器发送用户资格。如果Web服务器的SecureSocketsLayer(SSL)资格映射特性配置正确,那么服务器就可以在许可用户对ASP应用程序访问之前对其身份进行确认。用于处理资格证明的ASP脚本作为ASP应用程序开发人员,您可以编写脚本来检查资格是否存在并读取资格字段。例如,您可以从资格证明中访问用户名字段和公司名字段。ActiveServerPages在Request对象的ClientCertificate集合中保存资
11、格信息。详细信息,请参阅ASP内建对象。必须将Web服务器配置为接受或需要客户资格,然后才能通过ASP处理客户资格;否则,ClientCertificate集合将为空。-创建事务性脚本商业应用程序常常需要具有在事务内部运行脚本和组件的能力。事务是一种服务器操作,即使该操作包括很多步骤(例如,定货、查看存货、付帐等),也只能整体返回操作是成功还是失败。用户可以创建在事务内部运行的ASP脚本,如果脚本的任何一部分失败,整个事务都将会终止。ASP事务处理是以Microsoft?TransactionServer(MTS)为基础的。Microsoft?TransactionServer(MTS)是一个
12、事务处理系统,用于开发、配置和管理高性能、可分级的、有鲁棒性的企业Internet和Intranet服务器应用程序。TransactionServer为开发分布式的,基于组件的应用程序提供了一个应用程序设计模型。它也为配置和管理这些应用程序提供了一个运行环境。创建事务性脚本的功能内置在InternetInformationServer和PersonalWebServer中。如果您安装了MicrosoftTransactionServer,就可以将组件打包,以使组件在事务内部运行。有关组件打包的详细信息,请参阅创建MTS包。关于事务事务是整体成功或失败的操作。事务处理用于对数据库进行可靠地更新。
13、在对数据库进行许多相关更改或同时更新多个数据库时,要保证所有更改都被正确执行。如果这些更改中的任何一个失败,都需要恢复数据库表的原始状态。如果没有MTS,您就需要编写脚本和组件,手工跟踪请求的更改情况,以便在某些更改失败时恢复数据。使用MTS,您只需简单的将您的脚本和组件声明为撔枰挛駭并让MTS处理事务的一致性。事务处理只适用于数据库访问;MTS不能对文件系统或其他的非事务性资源的更改进行恢复操作。应用程序所访问的数据库必须为MTS所支持。目前,MTS支持SQLServer及任何支持XA协议(由X/Open协会制定)的服务器。MTS将继续扩展对其他数据库的支持。事务不能跨越多个ASP页。如果一
14、个事务需要来自多个组件的对象,则须将使用这些对象的操作组合在一个ASP页中。例如,假定有一个组件用于更新工资单数据库,还有一个组件用于更新人力资源数据库中的员工记录。为了记录一个员工的新的工资信息,您需要编写这样一个脚本,该脚本在一个事务环境中调用这两个组件,一个用于更新工资单数据库,另一个用于更新人力资源数据库中的员工等级。声明事务性脚本在将一个页声明为事务性时,此页中的任何脚本命令和对象都运行在同一个事务环境中。TransactionServer处理生成事务的细节并决定事务成功(提交)或失败(终止)。要将某个页声明为事务性,可在页首添加TRANSACTION指令:value参数可以是下列之
15、一:值意义Requires_New启动一个新的事务。Required启动一个新的事务。Supported不启动事务。Not_Supported不启动事务。TRANSACTION指令必须在一页中的第一行,否则将产生错误。必须将该指令添加到需要在事务下运行的每一页中。当脚本处理结束时,当前事务即告结束。大多数应用程序只有一些特定的操作需要事务环境。例如,一个航空公司的站点可能只需要事务性脚本处理购票和安排座位,而其他所有脚本则无须事务环境即可安全运行。因为事务只须用于需要事务处理的页即可,不要将应用程序的Global.asa文件声明为事务性。如果事务被终止,TransactionServer将恢复
16、对支持事务的资源的任何更改。目前,仅数据库服务器完全支持事务,因为数据库中的数据对于企业应用是最为关键的。TransactionServer不对硬盘上的文件、会话和应用程序的变量、集合等的改变进行恢复。然而您可以如下文主题所述,通过编写事务事件来编写恢复变量和集合的脚本。在某些时候,您的脚本也可以显式的提交或终止一个事务,如向文件写数据失败时。提交或终止脚本因为TransactionServer跟踪事务处理,所以它决定事务是完全成功还是失败。脚本可以通过调用ObjectContext.SetAbort显式地声明终止一个事务。例如,当一个事务在从一个组件收到错误消息、违反商业规范时(例如,帐户余
17、额小于0)或读写文件等非事务性操作失败时,脚本就需要终止该事务。如果页在事务完成之前超时,也必须终止事务。编写事务事件脚本本身不能决定事务是成功还是失败。但是,可以编写提交或终止事务时被调用的事件。例如,假设有一个确认银行帐户的脚本,并且您需要针对事务的不同状态将不同的页返回给用户,那么就可以使用OnTransactionCommit和OnTransactionAbort事件来编写对用户的不同响应。WelcometotheonlinebankingserviceThankyou.Yourtransactionisbeingprocessed.%Displaythispageifthetrans
18、actionsucceeds.SubOnTransactionCommit()Response.WriteResponse.WriteResponse.WriteThankyou.Youraccounthasbeencredited.Response.WriteResponse.WriteResponse.Flush()endsub%Displaythispageifthetransactionfails.SubOnTransactionAbort()Response.Clear()Response.WriteResponse.WriteResponse.WriteWeareunabletoc
19、ompleteyourtransaction.Response.WriteResponse.WriteResponse.Flush()Endsub%在MTS资源管理器中登记一个组件为了参与一个事务,组件必须在MTS包中登记,而且必须被配置为需要事务。例如,如果您的脚本是通过调用两个组件来处理订单的,一个更新库存数据库,另一个更新付款数据库。那么,这两个组件就要在同一个事务环境中运行。TransactionServer保证如果任意一个组件失败,那么将不会有数据库被更新。某些组件不需要事务;例如,AdRotator组件。注册和配置事务性组件可使用MTS资源管理器。必须将事务的属性设置为需要事务或需
20、要新事务。事务组件必须在MTS包中注册。不要将组件放在IIS内部进程包中,而应该创建自己的包。通常,应将所有的组件放在一个组件库中。组件库的组件可被多个ASP应用程序使用并以ASP应用程序进程运行。使用MTS资源管理器可创建新的包并将包的Activation属性设置为Library。也可以在Server包中注册事务性组件。Server包通常以服务器上的一个独立的进程运行。如果希望使用基于职能组的安全性检查或希望您的组件可被远程计算机上的应用程序访问,可对事务性组件使用Server包。要使用MTS资源管理器,必须安装MicrosoftTransactionServer。有关注册组件和选择包类型的详细信息,请参阅创建MTS包。对象作用域一般情况下,不要将从MTS组件中创建的对象存储在ASPApplication或Session对象中。MTS对象在事务完成后消失。因为Session对象和Application对象是为在不同ASP页之间使用的对象实例设计的,所以不要用它们保存在事务结束时即被释放的对象。A
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年智能制造示范工厂建设中的智能物流系统实施方案报告
- 基于大数据的2025年智能停车场系统设计评估报告
- 物业管理公司核心业务与服务介绍
- 高精度位移测量仪行业跨境出海项目商业计划书
- 在线消费分期服务行业深度调研及发展项目商业计划书
- 高效能注塑机节能改造企业制定与实施新质生产力项目商业计划书
- 供应链金融数字化融资解决方案行业深度调研及发展项目商业计划书
- 证券经纪人AI应用行业跨境出海项目商业计划书
- 科技馆交通服务行业跨境出海项目商业计划书
- 高遮盖力墙面漆颜料行业深度调研及发展项目商业计划书
- 2024至2030年成都市酒店市场前景及发展战略研究报告
- 2024年个人劳务承包合同书
- 2024年人力资源招聘服务合同范本
- 重庆市(六校联考)2025届九年级物理第一学期期末质量跟踪监视模拟试题含解析
- 2024辽宁省各市农村电力服务限公司联合招聘220人重点基础提升难、易点模拟试题(共500题)附带答案详解
- ISO15614-1 2017 金属材料焊接工艺规程及评定(中文版)
- MOOC 一生的健康锻炼-西南交通大学 中国大学慕课答案
- 《中国溃疡性结肠炎诊治指南(2023年)》解读
- 护理文献分享的课件
- 重庆十八中学2024届八年级下册数学期末教学质量检测试题含解析
- 企业周年庆蛋糕定制协议
评论
0/150
提交评论