Avatar billede sth Novice
24. august 2005 - 22:11 Der er 18 kommentarer og
1 løsning

ServerVariables("REMOTE_HOST")

Hej

jeg er ved at lave en side hvor jeg har brug for at vide kundens ip-adresse, denne finder jeg ved at lave følgende:
ip_adresse = Request.ServerVariables("REMOTE_HOST")

Dette har altid virket, men nu er jeg ved at lave en side som som ligger på en server hos danhost.dk og her virker det ikke

hvis jeg smider følgende kode på serveren hos Danhost
Response.write "Din  (REMOTE_HOST) adresse er : " &Request.ServerVariables("REMOTE_HOST")

så får jeg en ipadresse der heder :195.140.132.194
og hvis jeg slår denne ipadresse op (kunne være hos myip.dk) så får jeg at vide at den tilhøre Danhost.dk !

smider jeg samme kode på en anden web server så får jeg den rigtige: 62.107.XXX.XXX


Nu er spørgsmålet er det mig eller danhost der er forkert på den ?

og er der nogen der har et bud på hvad der går galt for danhost.dk ,hvis det altså er dem den er galt med :-)
Avatar billede tofte Juniormester
24. august 2005 - 22:15 #1
har du prøvet med
REMOTE_ADDR istedet for REMOTE_HOST
Avatar billede sth Novice
24. august 2005 - 22:16 #2
yes og det giver bare det samme
Avatar billede nielle Nybegynder
24. august 2005 - 22:17 #3
Jeg vil gætte på at Danhost har noget loadsharing kørende.

En request til din side rammer først deres indgangs-webserver. Denne sender så requesten videre til den server som har mindt travl. Den IP du ser er altså den som svare til indgangs-serveren. Mit gæt.
Avatar billede erikjacobsen Ekspert
24. august 2005 - 22:20 #4
Prøv at løbe alle Request.ServerVariables igennem og se om den ikke sku' stå et andet sted.
Avatar billede sth Novice
24. august 2005 - 22:22 #5
jeg havde en gang et Script der kunne vise dem alle.... men det er blev væk, der er vel ikke nogen af jer der lige har koden til det ?
Avatar billede erikjacobsen Ekspert
24. august 2005 - 22:22 #6
Klippet ud af sammenhæng:

      For Each var_http In Request.ServerVariables
        Response.Write "<tr><td>" & var_http & "</td><td>" _
                      & Request.ServerVariables(var_http) & "</td></tr>"
      Next
Avatar billede sth Novice
24. august 2005 - 22:32 #7
fandt lige denne kode i mine gemmer:

Dim proxyIP, normalIP

proxyIP = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
normalIP = Request.ServerVariables("REMOTE_ADDR")

If proxyIP = doublequote Then
  'If the user is not behind a proxy
  Response.Write "Your IP address is: " & normalIP & vbcrlf
Else
  'If the user is behind a proxy
  Response.Write "Your IP address is: " & proxyIP
  Response.Write " and your proxy address  is: " & normalIP & vbcrlf
End If


og det viser sig så at det er ServerVariables("HTTP_X_FORWARDED_FOR")
jeg skal bruge

KAn jeg så altid regne med at det er den ?
Avatar billede sth Novice
24. august 2005 - 22:33 #8
erikjacobsen prøvede lige din kode også og den fandt selvf. også HTTP_X_FORWARDED_FOR
Avatar billede sth Novice
24. august 2005 - 22:38 #9
ok følgende kode saer ud til at virke :-)

<%
Response.expiresAbsolute = Now() - 10
Response.expires = 0
Response.addHeader "pragma", "no - cache"
Response.addHeader "cache-control", "private"
Session.abandon


Dim proxyIP, normalIP

proxyIP = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
normalIP = Request.ServerVariables("REMOTE_ADDR")

If proxyIP = doublequote Then
  'If the user is not behind a proxy
  ip_adresse=normalIP
Else
  'If the user is behind a proxy
  ip_adresse=proxyIP
End If

Response.Write "<BR>"
Response.Write "<BR><BR>din ipadresse er: " & ip_adresse
Response.Write "<BR>"


%>
Avatar billede tubber Juniormester
24. august 2005 - 22:40 #10
vil også lige komme med en kommentar, REMOTE_ADDR er den rigtige at bruge hvis du skal bruge kundens ip, da REMOTE_HOST faktisk er til at finde hostnavn på den maskine der kommer ind, det er bare sjældent det er aktiveret på serverne siderne kører på, og det er også slået fra som default på en IIS installeret på en hjemmepc
Avatar billede sth Novice
24. august 2005 - 22:41 #11
Det ser ud til at virke, er der nogen der er uenig i at ovenstående kode kan bruges og ser i nogen muligheder for fejl ?
Avatar billede erikjacobsen Ekspert
24. august 2005 - 22:42 #12
doublequote er hvad? Ja, sth, det du skriver er man nødt til i den server opsætning de har.
Avatar billede sth Novice
24. august 2005 - 22:56 #13
erikjacobsen ja det er lidt pinlig at bruge noget man ikke ved hvad er, men jeg ved ikke hvad det betyder, men tror at det er = ingenting ""
Avatar billede erikjacobsen Ekspert
24. august 2005 - 23:01 #14
Ja, men så skriver man da bare  ""    - ik'?
Avatar billede sth Novice
24. august 2005 - 23:09 #15
erikjacobsen  jo og det virker også, jeg søgte lige her på eksperten på doublequote  og fandt følgende side http://eksperten.dk/spm/495861 og mom ikke det er derfa jeg har min kode :-)
nå men smid et svar, så er der point
Avatar billede erikjacobsen Ekspert
24. august 2005 - 23:12 #16
Ingen point til mig, tak. Jeg samler ikke på dem.
Avatar billede sth Novice
24. august 2005 - 23:14 #17
ok det var da ellers en flot holdning, men du skal have tak for at lede mig på vej.

Er der andre der ønsker at få point ?
Avatar billede tubber Juniormester
25. august 2005 - 16:33 #18
Nej tag du dem selv når nu den der svare ikke vil :)
og som jacobsen skriver så er dem der hovedesageligt er her for at hjælpe ikke ude efter point, de har nok jo :)
Avatar billede sth Novice
25. august 2005 - 16:53 #19
ok, men så siger jeg tak for hjælpen.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester