如何查找经典 ASP 页面错误的原因 - IIS8

如何查找经典 ASP 页面错误的原因 - IIS8

我正在运行运行 IIS8 的 Windows Server 2012 R12。

我有一个经典的 ASP 网站在其上运行,大部分情况下运行良好。该网站每月的页面浏览量约为 150 万次(约 400,000 次唯一页面浏览量)。

我有一个针对 500.100 脚本错误的自定义错误页面,它将有关错误的详细信息存储在数据库中并向我发送电子邮件,以便我知道页面是否有错误。

我已在 web.config 中通过以下方式设置它们:

<httpErrors errorMode="Custom" defaultResponseMode="ExecuteURL">
    <remove statusCode="500" subStatusCode="100" />
    <remove statusCode="500" subStatusCode="-1" />
    <remove statusCode="404" subStatusCode="-1" />
    <error statusCode="404" path="/error_404.asp" responseMode="ExecuteURL" />
    <error statusCode="500" prefixLanguageFilePath="" path="/error_500.asp" responseMode="ExecuteURL" />
    <error statusCode="500" subStatusCode="100" path="/error_500.asp" responseMode="ExecuteURL" />
</httpErrors>

在error_500.asp页面上包含以下代码:

On Error Resume Next
Response.Clear
Dim objError
Set objError = Server.GetLastError()

set objError =      Server.getLastError()
strNumber =         objError.AspCode
strSource =         objError.Category
strDesc =           newstr(objError.Description)
strCode =           newstr(objError.Source)
strLine =           ObjError.Line
strASPDesc =        ObjError.ASPDescription
strRemoteAddr =     Request.ServerVariables("REMOTE_ADDR")
ref =               request.servervariables("HTTP_REFERER")
str =               request.servervariables("QUERY_STRING")
cookies =           request.servervariables("HTTP_COOKIE")
ip_url =            strRemoteAddr
ua =                newstr(request.servervariables("HTTP_USER_AGENT"))
totalstring =       objError.File & "?" & str

由于某种原因,我经常会收到这样的错误:

strNumber:
strSource:
strDesc:
strCode:
strLine: 0
strASPDesc:
strRemoteAddr: 98.168.145.166
ref: http://example.com/content/another-page.asp
str: 500;http://example.com/content/this-page.asp
cookies:    ASPSESSIONIDQQRTDDBQ=IBBOMHEDGEEGKAPPLDGLDHLE; _ga=GA1.3.1626071938.1497868025; _gid=GA1.3.629715385.1497868026; _gat=1; __gads=ID=c83d077246e96531:T=1497868028:S=ALNI_MY2v7GwftRZ5EMHIdi_5lEA8TDAgQ
ip_url: 98.168.145.166
ua: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36
totalstring: ?500;http://example.com/content/this-page.asp

所以我可以看到页面出错,但是没有错误消息、行号或其他任何内容。

我不知道如何了解有关这些错误的更多信息,想知道是否有人可以提供建议?

有时我会同时遇到多达 10,000 个这样的问题,我认为这是一次黑客攻击,但我不确定如何运行更详细的调试等?

我不想记录网站上的所有内容,因为如果我开始这样做,网站可能会崩溃,可能吗?

任何建议都将不胜感激,因为我意识到我需要做一些事情来更详细地调试或记录错误,但不知道从哪里开始。

非常感谢您的任何建议,谢谢。

相关内容