Thread View: dk.edb.internet.webdesign.serverside.asp
1 messages
1 total messages
Started by Rune Jensen
Sat, 08 Sep 2012 10:54
REMOTE_ADDR og X_FORWARDED_FOR servervariabler
Author: Rune Jensen
Date: Sat, 08 Sep 2012 10:54
Date: Sat, 08 Sep 2012 10:54
44 lines
2843 bytes
2843 bytes
Man kan Äbenbart bruge en ikke-dokumenteret feature til at hente
informationer om IPen bag en proxy. Den hedder HTTP_X_FORWARDED_FOR,
og gemmer den IP, som taler med en proxy (hvor proxiens IP vil ligge i
REMOTE_ADDR, hvis det er).
Da X_FORWARDED_FOR er en variabel, som kan ĂŠndres af brugeren, og da
den iÞvrigt er op til proxien at sÊtte ogsÄ, er den ikke pÄlidelig pÄ
samme mÄde.
Men jeg er ogsÄ mere interesseret i, bare at fÄ en vÊrdi, som er den
samme for den samme bruger, og som ikke er lig med REMOTE_ADDR, hvis
brugeren er bag en proxy.
SÄ jeg lavede fÞlgende udfra oplysninger pÄ nettet:
Function RetrieveIP
IP_REQUEST = Request.Servervariables("REMOTE_ADDR")
FORWARDED_FOR = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If FORWARDED_FOR = "" Then
RetrieveIP = IP_REQUEST
Else
RetrieveIP = FORWARDED_FOR
If inStr( RetrieveIP,",")>0 Then
RetrieveIP = Split( RetrieveIP,",")(0)
End If
End If
End Function
Nu skal det testes, selvfÞlgelig, men er der en mere optimal mÄde at
gÞre det pÄ?
Og der KAN forekomme kommaseparerede IPer i FORWARDED_FOR (sÄ vidt jeg
forstÄr), hvis nu det er en legal proxy, som fÞlger forskrifterne om
at oplyse om oprindelig IP i FORWARDED, er det sÄ korrekt, at vÊlge
den fĂžrste IP i arrayet?
PS: Opera oplyser oprindelig IP i X_FORWARDED_FOR, sÄ det er altsÄ
ikke verdens bedste anonyme proxy :)
MVH
Rune Jensen
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads