0

ウェブサイトで発生したイベントをテーブルに記録するシステムがあります。

現在、何が起こっているかの説明と、ページのプロパティの参照とともにすべてのイベントを記録します

HttpContext.Current.Request.Url.AbsoluteUri

「http://ya.ru/Default.aspx」を所有していないサーバーから HttpContext.Current.Request.Url.AbsoluteUri を見つけました

このテーブルには、スレッド ID (Threading.Thread.CurrentThread.ManagedThreadId) (スレッド 1 として記録される) とセッション ID (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

何か案は?

4

1 に答える 1

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 はそれに向けられたすべての要求を処理する「既定のサイト」でセットアップされています。

于 2011-03-10T15:49:54.913 に答える