webForumDet fria alternativet

GetUserIP() - Hämtar användarens IP

ASP

1 svar · 2 084 visningar · startad av Pace

Medlem sedan juni 20019 024 inlägg
Frågan#1

Denna funktionen hämtar användarens IP adress. Om användaren sitter bakom en proxy eller liknande, så plockar den vanliga "remote_addr" ut proxyns IP nummer. Denna hämtar användarens. Används genom att kalla på den via strIP = GetUserIP() exempelvis.

' Hämtar användarens IP adress.
Function GetUserIP()
	Dim strUserIP
	
	strUserIP = Request.ServerVariables("HTTP_X_FORWARDED_FOR")			
	If strUserIP = "" Then
		strUserIP = Request.ServerVariables("REMOTE_ADDR")
	End If
	
	GetUserIP = strUserIP
End Function
Medlem sedan aug. 20028 inlägg
#2

Hmmm...ganska gammal tråd....men den kanske kan lösa mina problem...

Jag har min server bakom en brandvägg...
Och nu håller jag på att testa ett script som loggar ip nummer...men det enda ipnummer som loggas e det som går ut mot internet alltså det jag fått från ISP:n.
Men inom det lokala nätverket så loggas ip numren korrekt...

Kan du berätta mer hur detta funkar: HTTP_X_FORWARDED_FOR och varför du kodat som du har gjort...?!

Löser detta mitt problem?

Så här ser koden ut...men som sagt så loggar den bara samma ipnummer hela tiden...

<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("iplogg/logg.mdb")&";"

Set RecSet = Server.CreateObject("ADODB.Recordset")

Addera = "Select * From ip"
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic

RecSet.AddNew

RecSet("datum") = Now
RecSet("ip") = Request.Servervariables("REMOTE_ADDR")

RecSet.Update

RecSet.Close
Connect.Close
Set RecSet = nothing
Set Connect = nothing

%>

Tack på Förhand!

252 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)
117 ms — ändringar (db)