сравнивая http_referer с http_host - PullRequest
       33

сравнивая http_referer с http_host

0 голосов
/ 24 ноября 2010

Привет! Мне нужно проверить, является ли 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")

Означает, что строка всегда имеет значение, даже если оно ничто.

Ответы [ 2 ]

3 голосов
/ 24 ноября 2010

Потому что HTTP_REFERER не всегда заполнен - ​​только если вы нажали на ссылку.Поэтому, если вы перейдете непосредственно к странице, этот заголовок будет пустым.

1 голос
/ 24 ноября 2010

Возможно, что Request.ServerVariables("HTTP_REFERER") будет null, поэтому вы должны проверить это при назначении переменной.

If Not String.IsNullOrEmpty(Request.ServerVariables("HTTP_REFERER"))
    'do your stuff
...