Можно ли переопределить HttpContext.Current.Request.Url.AbsoluteUri? - PullRequest
0 голосов
/ 10 марта 2011

У нас есть система, которая регистрирует события, которые происходят на нашем веб-сайте в таблице.

В настоящее время она записывает все события с описанием происходящего и ссылкой на свойство страницы, найденное в

HttpContext.Current.Request.Url.AbsoluteUri

Я только что заметил HttpContext.Current.Request.Url.AbsoluteUri с сервера, который нам не принадлежит "* http://ya.ru/Default.aspx"

В эту таблицу также записывается идентификатор потока (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

Есть идеи?

1 Ответ

1 голос
/ 10 марта 2011

Ваш сервер настроен на обработку любого переданного ему заголовка хоста? Перейдите в командную строку и запустите его, изменив 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 настроен с «сайтом по умолчанию», который обрабатывает любые запросы, направленные к нему.

...