![如何查找经典 ASP 页面错误的原因 - IIS8](https://linux22.com/image/707318/%E5%A6%82%E4%BD%95%E6%9F%A5%E6%89%BE%E7%BB%8F%E5%85%B8%20ASP%20%E9%A1%B5%E9%9D%A2%E9%94%99%E8%AF%AF%E7%9A%84%E5%8E%9F%E5%9B%A0%20-%20IIS8.png)
我正在运行运行 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 个这样的问题,我认为这是一次黑客攻击,但我不确定如何运行更详细的调试等?
我不想记录网站上的所有内容,因为如果我开始这样做,网站可能会崩溃,可能吗?
任何建议都将不胜感激,因为我意识到我需要做一些事情来更详细地调试或记录错误,但不知道从哪里开始。
非常感谢您的任何建议,谢谢。