0

こんにちは私はhttp_refererが現在のサイトと同じサイトであるかどうかを確認する必要があります。

私は次のコードを持っています

Dim strReferer As String

strReferer = Request.ServerVariables("HTTP_REFERER")
If strReferer.Contains(Request.ServerVariables("HTTP_HOST")) then
   'do task
End If

これは、「オブジェクト参照がオブジェクトのインスタンスに設定されていません。 」というエラーをスローし、コードの問題のある行としてif行にフラグを立てます。

私が間違っているアイデアはありますか?

私の解決策:

strReferer = "" & Request.ServerVariables("HTTP_REFERER")

文字列が何もない場合でも、常に値を持つことを意味します。

4

2 に答える 2

3

HTTP_REFERERリンクをクリックした場合にのみ、常に入力されるとは限らないためです。そのため、ページを直接参照すると、そのヘッダーは空になります。

于 2010-11-24T13:53:05.087 に答える
1

Request.ServerVariables("HTTP_REFERER")が になる可能性があるためnull、変数を割り当てるときにこれを確認する必要があります。

If Not String.IsNullOrEmpty(Request.ServerVariables("HTTP_REFERER"))
    'do your stuff
于 2010-11-24T13:54:05.783 に答える