《asp基础实用教程(DOC格式)》第15章


无会话的ASP页
ASP也提供创建无会话页的功能,您可以使用该功能将会话的创建时间推迟到用户访问一个需要会话跟踪的ASP页时。
无会话页不执行以下功能:
执行Session_OnStart过程。 
发送会话 IDcookie。 
创建 Session 对象。 
访问用标记创建的内建会话对象或会话作用域对象。 
与其他会话请求顺序执行。 
要将。ASP配置为无会话,可使用下列语句:
您应将此脚本置于。ASP文件的第一行,位于其他脚本之前。默认情况下,若省略此标记,则启用会话跟踪。
无会话ASP页通过消除潜在的耗时会话操作,改善服务器的响应性能。例如,考虑以下情况,ASP页包含某个帧集中的两个HTML帧,帧1和帧2。帧1包含一个执行复杂脚本的。ASP文件,而帧2包含一个简单的。html文件。因为ASP顺序执行(即串行执行)会话请求,所以在帧1的脚本被执行之前,您将不会看到帧2的内容。但是,如果您将帧1设置为无会话,则ASP请求将不再被串行处理,浏览器不必等待执行完帧1的内容就可以处理帧2的内容。但是,不同帧的多个请求的处理方式最终还要取决于用户Web浏览器的配置。某些Web浏览器可能不理会您的。ASP文件的无会话配置,照样串行处理请求。
十二、维护ASP应用程序的安全
千万不要轻视正确配置安全设置的重要性。如果不正确配置安全设置,不但会使您的ASP应用程序遭受不必要的篡改,而且会妨碍正当用户访问您的。ASP文件。
Web服务器提供了各种方法来保护您的ASP应用程序免受未授权的访问和篡改。在您读完本主题下的安全信息之后,请花一定的时间仔细检查一下您的Windows NT和Web服务器安全性文档。详细信息,请参阅安全性。
NTFS权限
您可以通过为单独的文件和目录应用NTFS访问权限来保护ASP应用程序文件。NTFS权限是Web服务器安全性的基础,它定义了一个或一组用户访问文件和目录的不同级别。当拥有Windows NT有效帐号的用户试图访问一个有权限限制的文件时,计算机将检查文件的访问控制表(ACL)。该表定义了不同用户和用户组所被赋予的权限。如果用户的帐号具有打开文件的权限,计算机则允许该用户访问文件。例如,Web服务器上的Web应用程序的所有者需要有〃更改〃权限来查看、更改和删除应用程序的。ASP文件。但是,访问该应用程序的公共用户应仅被授予〃只读〃权限,以便将其限制为只能查看而不能更改应用程序的Web页。
维护Global。asa的安全
为了充分保护ASP应用程序,一定要在应用程序的Global。asa文件上为适当的用户或用户组设置NTFS文件权限。如果Global。asa包含向浏览器返回信息的命令而您没有保护 Global。asa文件,则信息将被返回给浏览器,即便应用程序的其他文件被保护。有关配置NTFS权限的详细信息,请参阅访问控制。
注意一定要对应用程序的文件应用统一的NTFS权限。例如,如果您不小心过度限制了一应用程序需要包含的文件的NTFS权限,则用户可能无法查看或运行该应用程序。为了防止此类问题,在为您的应用程序分配NTFS权限之前应仔细计划。
Web服务器权限
您可以通过配置您的Web服务器的权限来限制所有用户查看、运行和操作您的ASP页的方式。不同于NTFS权限提供的控制特定用户对应用程序文件和目录的访问方式,Web服务器权限应用于所有用户,并且不区分用户帐号的类型。对于要运行您的ASP应用程序的用户,在设置Web服务器权限时,必须遵循下列原则:
对包含。ASP文件的虚拟目录允许”读”或”脚本”权限。
对。ASP文件和其他包含脚本的文件(如。htm文件等)所在的虚目录允许〃读〃和〃脚本〃权限。 
对包含。ASP文件和其他需要”执行”权限才能运行的文件(如。exe和。dll文件等)的虚目录允许〃读〃和〃执行〃权限。 
有关配置Web服务器权限的详细信息,请参阅访问控制。
脚本映射文件
应用程序的脚本映射保证了Web服务器不会意外地下载。ASP文件的源代码。例如,即使您为包含了某个。ASP文件的目录设置了”读”权限,只要该。ASP文件隶属于某个脚本映射应用程序,那么您的Web服务器就不会将该文件的源代码返回给用户。
Cookie安全性
ASP使用SessionID cookie跟踪应用程序访问或会话期间特定的Web浏览器的信息。这就是说,带有相应的cookie的HTTP请求被认为是来自同一Web浏览器。Web服务器可以使用SessionID cookies配置带有用户特定会话信息的ASP应用程序。例如,如果您的应用程序是一个允许用户选择和购买CD 唱盘的联机音乐商店,就可以用SessionID跟踪用户漫游整个应用程序时的选择。
SessionID能否被黑客猜中?
为了防止计算机黑客猜中SessionID cookie并获得对合法用户的会话变量的访问,Web服务器为每个SessionID指派一个随机生成号码。每当用户的Web浏览器返回一个SessionID cookie时,服务器取出SessionID和被赋予的数字,接着检查是否与存储在服务器上的生成号码一致。若两个号码一致,将允许用户访问会话变量。这一技术的有效性在于被赋予的数字的长度(64位),此长度使计算机黑客猜中SessionID从而窃取用户的活动会话的可能性几乎为0。
加密重要的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应用程序访问的一种十分安全的方法是要求用户使用 客户资格登录。客户资格是包含用户身份信息的数字身份证,它的作用与传统的诸如护照或驾驶执照等身份证明相同。用户通常从委托的第三方组织获得客户资格,第三方组织在发放资格证之前确认用户的身份信?
小说推荐
返回首页返回目录