千万不要轻视正确配置安全设置的重要性。如果不正确配置安全设置,不但会使您的 ASP 应用程序遭受不必要的篡改,而且会妨碍正当用户访问您的 .asp 文件。
Web 服务器提供了各种方法来保护您的 ASP 应用程序免受未授权的访问和篡改。在您读完本主题下的安全信息之后,请花一定的时间仔细检查一下您的 Windows NT 和 Web 服务器安全性文档。
NTFS 权限
您可以通过为单独的文件和目录应用 NTFS 访问权限来保护 ASP 应用程序文件。NTFS 权限是 Web 服务器安全性的基础,它定义了一个或一组用户访问文件和目录的不同级别。当拥有 Windows NT 有效帐号的用户试图访问一个有权限限制的文件时,计算机将检查文件的访问控制表 (ACL)。该表定义了不同用户和用户组所被赋予的权限。如果用户的帐号具有打开文件的权限,计算机则允许该用户访问文件。例如,Web 服务器上的 Web 应用程序的所有者需要有“更改”权限来查看、更改和删除应用程序的 .asp 文件。但是,访问该应用程序的公共用户应仅被授予“只读”权限,以便将其限制为只能查看而不能更改应用程序的 Web 页。
脚本映射文件
应用程序的脚本映射保证了 Web 服务器不会意外地下载 .asp 文件的源代码。例如,即使您为包含了某个 .asp 文件的目录设置了“读”权限,只要该 .asp 文件隶属于某个脚本映射应用程序,那么您的 Web 服务器就不会将该文件的源代码返回给用户。
Cookie 安全性
ASP 使用 SessionID cookie 跟踪应用程序访问或会话期间特定的 Web 浏览器的信息。这就是说,带有相应的 cookie 的 HTTP 请求被认为是来自同一 Web 浏览器。Web 服务器可以使用 SessionID cookies 配置带有用户特定会话信息的 ASP 应用程序。例如,如果您的应用程序是一个允许用户选择和购买 CD 唱盘的联机音乐商店,就可以用 SessionID 跟踪用户漫游整个应用程序时的选择。
加密重要的 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 站点的用户的身份。