友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!
第三电子书 返回本书目录 加入书签 我的书架 我的书签 TXT全本下载 『收藏到我的浏览器』

asp基础实用教程(DOC格式)-第9部分

快捷操作: 按键盘上方向键 ← 或 → 可快速上下翻页 按键盘上的 Enter 键可回到本书目录页 按键盘上方向键 ↑ 可回到本页顶部! 如果本书没有阅读完,想下次继续接着阅读,可使用上方 "收藏到我的浏览器" 功能 和 "加入书签" 功能!

  加密重要的SessionID Cookie
  截获了用户sessionID cookie的计算机黑客可以使用此cookie假冒该用户。如果ASP应用程序包含私人信息,信用卡或银行帐户号码,拥有窃取的cookie的计算机黑客就可以在应用程序中开始一个活动会话并获取这些信息。您可以通过对您的Web服务器和用户的浏览器间的通讯链路加密来防止SessionID cookie被截获。有关加密的详细信息,请参阅 安全性。

  使用身份验证机制保护被限制的ASP内容
  您可以要求每个试图访问被限制的ASP内容的用户必须要有有效的Windows NT帐号的用户名和密码。每当用户试图访问被限制的内容时,Web服务器将进行身份验证,即确认用户身份,以检查用户是否拥有有效的Windows NT帐号。
  Web服务器支持以下几种身份验证方式:
  基本身份验证提示用户输入用户名和密码。 
  Windows NT请求/响应式身份验证从用户的Web浏览器通过加密方式获取用户身份信息。 
  然而,Web服务器仅当禁止匿名访问或Windows NT文件系统的权限限制匿名访问时才验证用户身份。详细信息,请参阅关于身份验证。

  保护元数据库
  访问元数据库的ASP脚本需要Web服务器所运行的计算机的管理员权限。在从远程计算机上运行这些脚本时,须经已通过身份验证的连接,如使用Windows NT请求/响应验证方式进行连接。应该为管理级。ASP文件创建一个服务器或目录并将其目录安全验证方式设置为Windows NT请求/响应式身份验证。目前,仅Microsoft Internet Explorer version 2。0或更高版本支持Windows NT请求/响应式身份验证。

  使用SSL维护应用程序的安全
  Secure Sockets Layer(SSL)3。0协议作为Web服务器安全特性,提供了一种安全的虚拟透明方式来建立与用户的加密通讯连接。SSL保证了Web内容的验证,并能可靠地确认访问被限制的Web站点的用户的身份。通过SSL,您可以要求试图访问被限制的ASP应用程序的用户与您的服务器建立一个加密连接;以防用户与应用程序间交换的重要信息被截取。详细信息,请参阅加密。 
  维护包含文件的安全
  如果您从位于没有保护的虚拟根目录中的。ASP文件中包含了位于启用了SSL的目录中的文件,则SSL将不被应用于被包含文件。因此,为了保证应用SSL,应确保包含及被包含的文件都位于启用了SSL的目录中。
  客户资格认证
  控制对您的ASP应用程序访问的一种十分安全的方法是要求用户使用 客户资格登录。客户资格是包含用户身份信息的数字身份证,它的作用与传统的诸如护照或驾驶执照等身份证明相同。用户通常从委托的第三方组织获得客户资格,第三方组织在发放资格证之前确认用户的身份信息。(通常,这类组织要求姓名、地址、电话号码及所在组织名称;此类信息的详细程度随给予的身份等级而异。)每当用户试图登录到需要资格验证的应用程序时,用户的Web浏览器会自动向服务器发送用户资格。如果Web服务器的Secure Sockets Layer (SSL)资格映射特性配置正确,那么服务器就可以在许可用户对ASP应用程序访问之前对其身份进行确认。
  用于处理资格证明的ASP脚本
  作为ASP应用程序开发人员,您可以编写脚本来检查资格是否存在并读取资格字段。例如,您可以从资格证明中访问用户名字段和公司名字段。Active Server Pages在Request对象的ClientCertificate集合中保存资格信息。详细信息,请参阅ASP内建对象。
  必须将Web服务器配置为接受或需要客户资格,然后才能通过ASP处理客户资格;否则,ClientCertificate集合将为空。

  创建事务性脚本
  商业应用程序常常需要具有在事务内部运行脚本和组件的能力。事务是一种服务器操作,即使该操作包括很多步骤(例如,定货、查看存货、付帐等),也只能整体返回操作是成功还是失败。用户可以创建在事务内部运行的 ASP脚本,如果脚本的任何一部分失败,整个事务都将会终止。
  ASP事务处理是以Microsoft Transaction Server(MTS) 为基础的。Microsoft Transaction Server(MTS)是一个事务处理系统,用于开发、配置和管理高性能、可分级的、有鲁棒性的企业Internet和Intranet服务器应用程序。Transaction Server为开发分布式的,基于组件的应用程序提供了一个应用程序设计模型。它也为配置和管理这些应用程序提供了一个运行环境。创建事务性脚本的功能内置在Internet Information Server和 Personal Web Server中。如果您安装了Microsoft Transaction Server,就可以将组件打包,以使组件在事务内部运行。有关组件打包的详细信息,请参阅创建MTS包。
  关于事务
  事务是整体成功或失败的操作。事务处理用于对数据库进行可靠地更新。在对数据库进行许多相关更改或同时更新多个数据库时,要保证所有更改都被正确执行。如果这些更改中的任何一个失败,都需要恢复数据库表的原始状态。
  如果没有MTS,您就需要编写脚本和组件,手工跟踪请求的更改情况,以便在某些更改失败时恢复数据。使用MTS,您只需简单的将您的脚本和组件声明为”需要事务”并让 MTS处理事务的一致性。事务处理只适用于数据库访问;MTS不能对文件系统或其他的非事务性资源的更改进行恢复操作。应用程序所访问的数据库必须为 MTS所支持。目前,MTS支持SQL Server及任何支持XA协议(由X/Open协会制定)的服务器。MTS将继续扩展对其他数据库的支持。
  事务不能跨越多个ASP页。如果一个事务需要来自多个组件的对象,则须将使用这些对象的操作组合在一个ASP页中。例如,假定有一个组件用于更新工资单数据库,还有一个组件用于更新人力资源数据库中的员工记录。为了记录一个员工的新的工资信息,您需要编写这样一个脚本,该脚本在一个事务环境中调用这两个组件,一个用于更新工资单数据库,另一个用于更新人力资源数据库中的员工等级。

  声明事务性脚本
  在将一个页声明为事务性时,此页中的任何脚本命令和对象都运行在同一个事务环境中。Transaction Server处理生成事务的细节并决定事务成功(提交)或失败(终止)。要将某个页声明为事务性,可在页首添加@TRANSACTION指令:
  value参数可以是下列之一:

Requires_New
Required 
Supported 
Not_Supported 
意义
启动一个新的事务
启动一个新的事务
不启动事务
不启动事务 
  @TRANSACTION指令必须在一页中的第一行,否则将产生错误。必须将该指令添加到需要在事务下运行的每一页中。当脚本处理结束时,当前事务即告结束。大多数应用程序只有一些特定的操作需要事务环境。例如,一个航空公司的站点可能只需要事务性脚本处理购票和安排座位,而其他所有脚本则无须事务环境即可安全运行。因为事务只须用于需要事务处理的页即可,不要将应用程序的Global。asa文件声明为事务性。
  如果事务被终止,Transaction Server将恢复对支持事务的资源的任何更改。目前,仅数据库服务器完全支持事务,因为数据库中的数据对于企业应用是最为关键的。
  Transaction Server不对硬盘上的文件、会话和应用程序的变量、集合等的改变进行恢复。然而您可以如下文主题所述,通过编写事务事件来编写恢复变量和集合的脚本。在某些时候,您的脚本也可以显式的提交或终止一个事务,如向文件写数据失败时。

  提交或终止脚本
  因为Transaction Server跟踪事务处理,所以它决定事务是完全成功还是失败。脚本可以通过调用ObjectContext。SetAbort显式地声明终止一个事务。例如,当一个事务在从一个组件收到错误消息、违反商业规范时(例如,帐户余额小于0)或读写文件等非事务性操作失败时,脚本就需要终止该事务。如果页在事务完成之前超时,也必须终止事务。

  编写事务事件
  脚本本身不能决定事务是成功还是失败。但是,可以编写提交或终止事务时被调用的事件。例如,假设有一个确认银行帐户的脚本,并且您需要针对事务的不同状态将不同的页返回给用户,那么就可以使用OnTransactionmit和OnTransactionAbort事件来编写对用户的不同响应。


返回目录 上一页 回到顶部 1 2
快捷操作: 按键盘上方向键 ← 或 → 可快速上下翻页 按键盘上的 Enter 键可回到本书目录页 按键盘上方向键 ↑ 可回到本页顶部!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!