Avatar billede googolplex Novice
17. august 2003 - 22:58 Der er 8 kommentarer og
2 løsninger

Finde IP

Jeg har brug for en funktion, der finder brugernes IP-adresse. Jeg har kigget i php-manualen, men er lidt forvirret over hvilken metode der bedst tager højde for proxy-servers osv.

Jeg ved godt jeg ikke kan få en skudsikker funktion, men der må være nogen der ligger inde med noget fotnuftigt :)
Avatar billede heavybreezer Nybegynder
17. august 2003 - 23:00 #1
Avatar billede schaefner Juniormester
17. august 2003 - 23:03 #2
Under brugernes kommentare er det vist et par eksempeler:

http://dk2.php.net/manual/en/function.getenv.php
Avatar billede googolplex Novice
17. august 2003 - 23:05 #3
Den har jeg selv, ledte efter noget lidt mere avanceret/skudsikkert, alla det man kan finde i php-manualen. Der er bare så mange løsninger derinde, jeg kan ikke hitte ud af hvilken jeg skal bruge :(
Avatar billede googolplex Novice
17. august 2003 - 23:06 #4
Ja, der har jeg kigget, synes bare der er så meget forskelligt :(

Kiggede på denne her:

if ($_SERVER["HTTP_X_FORWARDED_FOR"]) {
if ($_SERVER["HTTP_CLIENT_IP"]) {
  $proxy = $_SERVER["HTTP_CLIENT_IP"];
} else {
  $proxy = $_SERVER["REMOTE_ADDR"];
}
$ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
} else {
if ($_SERVER["HTTP_CLIENT_IP"]) {
  $ip = $_SERVER["HTTP_CLIENT_IP"];
} else {
  $ip = $_SERVER["REMOTE_ADDR"];
}
}

echo "Your IP $ip
\n";
if (isset($proxy)) {
echo "Your proxy IP is $proxy
\n";
}

Er den 'sikker' ?
Avatar billede krydset Nybegynder
17. august 2003 - 23:11 #5
jeg hat prøvet at lave det her, men der er ikke taget højde for proxy server.
men det virker og du burde da kunne lave om lidt om på det

<?php
$usr_ip = "$REMOTE_ADDR";
#Print  "$test";
//users

$usr_Thomas = "10.0.0.2";

if ( $usr_ip == "$usr_Thomas" )

{
print "Hej igen Thomas";
}

?>
Avatar billede googolplex Novice
17. august 2003 - 23:30 #6
Ok, tror bare jeg holder mig til det simple som 'heavybreezer' også har foreslået:

$IP = $_SERVER['REMOTE_ADDR'];
$FIP = $_SERVER['HTTP_X_FORWARDED_FOR'];
if (($FIP != "") && ($FIP != "unknown")) $IP = $FIP;
$IP = explode(",", $IP);
$IP = $IP[0];

MEN, hvorfor laves der en explode til sidst ?! Kan $_SERVER['HTTP_X_FORWARDED_FOR'] indeholde noget ikke-brugbart eller hvad ?
Avatar billede googolplex Novice
18. august 2003 - 21:12 #8
tipsen, smid et svar, så deler jeg pointene.
Avatar billede tipsen Nybegynder
18. august 2003 - 22:44 #9
never mind - jeg lærte også noget nyt - det er fint nok :-)
Avatar billede googolplex Novice
18. august 2003 - 23:11 #10
Ok så, så slipper du tipsen :-P
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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