webForumDet fria alternativet

Filtrera fram domänen ur adressen??

ASP

7 svar · 492 visningar · startad av eddy1

Medlem sedan aug. 2001969 inlägg
Frågan#1

Hej

jag vill se från vilken domän besökaren kommer ifrån?
jag har nu använt

Request.ServerVariables("HTTP_REFERER")

hur som helst så får jag ju hela adressen men jag vill bara veta domänen, hur ska man enklast göra om man vill filtrera fram den ??

Sen har jag även sett att

Request.ServerVariables("HTTP_REFERER")

inte alltid fungerar, vad kan det bero på??

Mvh

Medlem sedan juni 200032 967 inlägg
#2

inte alltid fungerar, vad kan det bero på??

  1. Det är inte alltid någon länkas från en sida, utan man kanske går direkt till webbsidan med ett bokmärke, t.ex.
  2. Vissa brandväggar blåser innehållet i referer.
Medlem sedan aug. 2001969 inlägg
#3

Ok, det är så det ligger till.. Bra att veta.

Du vet inte hur jag ska göra på ett smidigt för att bara få domän adressen istället för hela adressen typ htt://www.blabla.se/todo.asp?case=blblbl

Medlem sedan juni 200032 967 inlägg
#4

Om du splittar på / så borde domänen ligga i plats 2 på den nyskapade arrayen.

Medlem sedan aug. 2001969 inlägg
#5

får prova det..
tack

Medlem sedan maj 200010 687 inlägg
#6

Går inte att lita på att domänen ligger på plats 2 eftersom att det är upp till webbläsaren att skicka headern och webbläsaren kan skicka den som den vill.

Medlem sedan aug. 2001969 inlägg
#7

okey, finns det någon annan lösning som kan fungera bättre i detta fallet.

Medlem sedan maj 200010 687 inlägg
#8

Lite regexp löser det:

Dim mc, sDomain

With New RegExp
	.IgnoreCase = True
	.Pattern = "[a-z]+\:\/\/(.+?)(?:\/|$)"
	
	Set mc = .Execute( Request.ServerVariables("HTTP_REFERER") )
End With

If mc.Count Then
	 sDomain = mc.Item(0).SubMatches(0)
End If

Set mc = Nothing
263 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)