为了降低 IIS 受到攻击的可能性,自定义错误消息不将特定错误消息内容(包括子状态代码)返回到远程客户端计算机。如果自定义错误消息包含了太多有关核心 Web 服务器的信息以及特定请求执行失败的原因解释,恶意用户可能会使用该错误消息中的信息来攻击 Web 服务器。因此,类似 404.2 的错误代码以 404 形式返回给客户端计算机,并不向远程客户端计算机指出请求失败的原因。
注意 子状态错误代码只能使用 W3C 扩展日志格式进行记录。
尽管对错误消息的这些更改降低了因泄漏太多信息而受到恶意用户攻击的可能性,但是如果没有子状态错误代码,管理员会在调试失败请求时遇到困难。因此,每当客户端请求失败时,子状态错误代码(如果启用的话)会写入 IIS 日志文件中。在默认情况下,这些日志文件只能由管理员和 LocalSystem 组的成员访问。经过验证的远程用户和本地用户不能访问日志文件和确定子状态错误代码。管理员只需在日志文件中查找错误和子状态代码,并对照关于自定义错误消息中的表格检查代码。例如,如果对 ASP 页的客户端请求返回了 404 错误,管理员可以通过查看日志文件确定实际发生的是 404.2 错误。在这种情况下,因为尚未在 Web 服务器上启用相关的 .dll 文件,所以找不到文件或目录。要了解如何在 IIS 中锁定或取消锁定 .dll 文件,请参阅启用和禁用动态内容。
要点 您必须是本地计算机上 Administrators 组的成员或者必须被委派了相应的权限,才能执行下列步骤。作为安全性的最佳操作,请使用不属于 Administrators 组的帐户登录计算机,然后使用运行方式命令以管理员身份运行 IIS 管理器。在命令提示符下,键入 runas /user:administrative_accountname "mmc %systemroot%\system32\inetsrv\iis.msc"。
记录子状态错误代码
© 1997-2003 Microsoft Corporation。保留所有权利。