2010-11-24 5 views
0

Salut Je dois vérifier si le http_referer est le même site que le site actuel.comparaison http_referer contre http_host

Je le code suivant

Dim strReferer As String 

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

Ce vomit une erreur en disant - « référence d'objet non définie à une instance d'un objet. » Et signalant le cas ligne que la ligne incriminée code .

Des idées où je me trompe?

Ma solution:

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

représente une corde toujours une valeur, même s'il n'y a rien.

Répondre

3

Parce que HTTP_REFERER n'est pas toujours rempli - uniquement si vous avez cliqué sur un lien. Donc, si vous naviguez directement sur une page, cet en-tête sera vide.

1

Il est possible que Request.ServerVariables("HTTP_REFERER") soit null, vous devriez donc vérifier cela lors de l'attribution de la variable.

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