2010-11-24 4 views
0

Привет Мне нужно проверить, является ли http_referer тем же сайтом, что и текущий сайт.Сравнение http_referer с http_host

У меня есть следующий код

Dim strReferer As String 

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

Это вырвет ошибку говоря - «Ссылка на объект не указывает на экземпляр объекта.» И маркировки КРП строку как ошибочную строку кода ,

Любые идеи, в которых я ошибаюсь?

МОЕ РЕШЕНИЕ:

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

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

ответ

3

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

1

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

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

 Смежные вопросы

  • Нет связанных вопросов^_^