我们有一个系统可以将我们网站上发生的事件记录在表格中。
它目前记录了所有事件,并记录了正在发生的事情,以及
中页面属性的引用HttpContext.Current.Request.Url.AbsoluteUri
我刚刚从我们没有的服务器上发现了一个HttpContext.Current.Request.Url.AbsoluteUri“http://ya.ru/Default.aspx”
此表中还记录了线程ID(Threading.Thread.CurrentThread.ManagedThreadId)(记录为线程1)和sessionID(HttpContext.Current.Session.SessionID)。
这个未经请求的服务器如何在我们的网站上运行东西,这是否意味着他们可以访问我们的代码,或者你可以合法地覆盖HttpContext.Current.Request.Url.AbsoluteUri?如果不是可以删除HttpContext.Current?
除了运行一些数据库查询外,它们似乎也在运行一些用户控件!?
它似乎是一个俄语搜索引擎,但我不确定它们是如何以某种方式覆盖我们的页面参数。
以下是设置日志记录例程的PAGE参数的代码:
Dim threadID As Integer
If Not HttpContext.Current Is Nothing Then
Page = HttpContext.Current.Request.Url.AbsoluteUri ' & "/" & HttpContext.Current.Request.RawUrl '& HttpContext.Current.Request.Path
Integer.TryParse(Threading.Thread.CurrentThread.ManagedThreadId, threadID)
If Not HttpContext.Current.Session Is Nothing Then
Try
Session = HttpContext.Current.Session.SessionID
Catch
Session = "empty"
End Try
End If
Else
Page = MyPageName
End If
有什么想法吗?
答案 0 :(得分:1)
您的服务器设置是否处理传递给它的任何主机头?转到命令行并运行此命令行,将123.123.123.123
更改为服务器的IP,将/Page.aspx
更改为您尝试访问的任何页面,但保留域名。
telnet 123.123.123.123 80
GET /Page.aspx HTTP/1.1
HOST: www.example.com
检查您的日志,如果您看到www.example.com
,那么IIS会设置一个“默认网站”来处理指向它的任何请求。