Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  6 905
Hei, jeg lurte på om hva var forskjelle mellom HTTP_CLIENT_IP , HTTP_X_FORWARDED_FOR og REMOTE_ADDR?

Hvis jeg banner noen med HTTP_X_FORWARDED_FOR vil det fungere bra? for jeg remote_addr ikke er sikker noe, og da har jeg tenkt bytte banmåten.

Takk på forhånd
HTTP_X_FORWARDED_FOR er noe som bare settes av enkelte proxyer for å indikere IP-adressen som koblet seg til proxyen (og som derfor antakelig er brukerens egen IP). Men siden dette feltet er valgfritt er det ingen garanti for noe som helst med mindre du vet at brukeren du vil banne bruker en proxy som setter dette feltet.
Trådstarter
74 0
JA.. Jeg har et problem som at det finnes programer som bytter IP eller skjuller IPen midlertidig, jeg brukte samme program og testet på ip2location.com da fikk jeg min ekte IP og den falske, med hvilken disse oppdager den ekte IPen? HTTP_X..? eller REMOTE_ADDr?

Og hvis jeg bruker i dette tillfelle HTTP_X for å oppdage den ekte IPen, vil da fungere helt sikkert?
m0b
m0b's Avatar
DonorAdministrator
Remote addr er den adressen som foretar en TCP/IP socket connection til din webserver. Dette vil dermed være f.eks en proxy som foretar operasjonene for en bruker. HTTP_X_FORWARDED_FOR er en HTTP header som enkelte proxyer som ikke er så veldig anonyme velger å sende med i en HTTP Request.
Trådstarter
74 0
OK! Jeg skjønte, men skal jeg bruke $ip = $_server['HTTP_X_FORWARDED_FOR']; eller $_server['REMOTE_ADDR'];? For å hindre folk med falsk IP. At jeg får den ekte IPen ha

Takk på forhånd
Trigonoceps occipita
vidarlo's Avatar
Donor
Sitat av -AXMEDUS-
OK! Jeg skjønte, men skal jeg bruke $ip = $_server['HTTP_X_FORWARDED_FOR']; eller $_server['REMOTE_ADDR'];? For å hindre folk med falsk IP. At jeg får den ekte IPen ha

Takk på forhånd
Vis hele sitatet...
Drit i å få tak i den ekte IPen. Om folk vil skjule seg så får dei det til, og du kan gjere lite med det. Sats på andre måter, t.d sette langvarige cookies, for å hindre slikt. Det er fleire som kan å bruke proxy enn som kan å slette cookies.

Men sjå på forskjellen på dei slik m0b forklarte. HTTP_X_FORWARDER_FOR blir lagt til av eventuelle proxier undervegs, dersom proxien er konfigurert for å legge det til.
m0b
m0b's Avatar
DonorAdministrator
Dersom du igjen stiller spørsmålet på nytt etter min forklaring kan du stryke "OK! Jeg skjønte," fra innlegget ditt. Du har muligens skjønt de enkelte ordene, men ikke satt de i kontekst og videre tanke.

Det du bør gjøre, er å først sjekke etter headeren HTTP_X_FORWARDED_FOR - dersom denne eksisterer så har du den "virkelige" IPen til brukeren, og det er egentlig nytteløst å banne ham. Eksisterer den ikke, så vet du ikke om han sitter bak en proxy eller ikke, og det er egentlig nytteløst å banne ham i dette tilfellet også med tanke på dynamiske IPer og slikt. Dessuten kan en utestengelse kun basert på IP gjøre collateral damage, tenk på om det er NAT mot et stort nett som f.eks en skole eller slikt. Vil du virkelig utestenge hele skolen fra din side?

Det er slik vidarlo sier, det sats heller på cookies.
Sist endret av m0b; 13. januar 2008 kl. 06:05.