Avatar billede swaq Nybegynder
20. november 2003 - 21:09 Der er 16 kommentarer og
1 løsning

$_SERVER['remote_addr'] problem - viser samme ip

Har et lille script som viser hvor mange brugere der er online på samme tid, problemet er blot at scriptet logger hjemmeside-serverens ip - eller jeg tror det må være den, et kig på: gethostbyaddr($_SERVER['REMOTE_ADDR']);
Avatar billede sukos Juniormester
20. november 2003 - 21:12 #1
?
Avatar billede 7th Praktikant
20. november 2003 - 21:13 #2
Ip: getenv ("REMOTE_ADDR");
Host: gethostbyaddr (getenv ("REMOTE_ADDR"));
Avatar billede swaq Nybegynder
20. november 2003 - 21:16 #3
Hov, gad vide hvorfor eksperten ikke syntes jeg skulle have hele spørgsmålet med... Her er det i sin fulde form:
Har et lille script som viser hvor mange brugere der er online på samme tid, problemet er blot at scriptet logger hjemmeside-serverens ip - eller jeg tror det må være den, et kig på: gethostbyaddr($_SERVER['REMOTE_ADDR']);
Avatar billede sukos Juniormester
20. november 2003 - 21:17 #4
:O)
Avatar billede swaq Nybegynder
20. november 2003 - 21:17 #5
Hov igen... der er et eller andet galt... Vi prøver igen:
Har et lille script som viser hvor mange brugere der er online på samme tid, problemet er blot at scriptet logger hjemmeside-serverens ip - eller jeg tror det må være den, et kig på: gethostbyaddr($_SERVER['REMOTE_ADDR']) resulterer i: webserv05.cliche.dk - siden er hostet af cliche.dk, by the way...

Her er scriptet:

include("config.php");
$t_stamp = time();
$timeout = $t_stamp - $to_secs;
if (getenv('HTTP_X_FORWARDED_FOR')){
    $ip=getenv('HTTP_X_FORWARDED_FOR');
}
else {
    $ip=getenv('REMOTE_ADDR');
}

$self = $_SERVER['PHP_SELF'];
mysql_connect($server, $db_user, $db_pass);
mysql_db_query($db, "INSERT INTO usersOnline VALUES ('$t_stamp','$remote','$self')");
mysql_db_query($db, "DELETE FROM usersOnline WHERE timestamp<$timeout");
$result = mysql_db_query($db, "SELECT DISTINCT ip FROM usersOnline WHERE file='$self'");
$user = mysql_num_rows($result);
mysql_close();
echo "<b>$user</b>";
Avatar billede 7th Praktikant
20. november 2003 - 21:20 #6
Hvad det dit fulde spørgsmål denne gang :o) ?
Avatar billede swaq Nybegynder
20. november 2003 - 21:24 #7
Det var dog utroligt... denne gang havde den udeladt den nederste linie... Her er spørgsmålet:

Som sagt bliver den samme IP-logget uanset hvem der besøger siden - hvad er problemet?
Avatar billede swaq Nybegynder
20. november 2003 - 21:30 #8
Jeg glemte lige, at uanset om jeg bruger: $_SERVER['REMOTE_ADDR']
Avatar billede 7th Praktikant
20. november 2003 - 21:34 #9
Hvad er $remote lig med?
Avatar billede swaq Nybegynder
20. november 2003 - 21:37 #10
$remote = $ip
Avatar billede swaq Nybegynder
20. november 2003 - 21:41 #11
Ved ikke lige hvad der galt med min puter i dag, den opfører sig lidt mærkeligt - ikke alle ting kommer med... men nu skulle den vist være der :-)
Avatar billede 7th Praktikant
20. november 2003 - 21:43 #12
Hvad giver denne sætning på din server?

print gethostbyaddr (getenv ("REMOTE_ADDR"))." = ".gethostbyaddr ($_SERVER['REMOTE_ADDR']);
Avatar billede swaq Nybegynder
20. november 2003 - 21:48 #13
Avatar billede swaq Nybegynder
20. november 2003 - 21:56 #14
Meget meget mærkeligt... den skriver godt nok det rigtige på skærmen, men i databasen, når man bruger siden bliver  provideren logget...
Avatar billede 7th Praktikant
20. november 2003 - 22:03 #15
Hvad siger den så til dette ?

mysql_db_query ($db , "INSERT INTO usersOnline (xxx , xxx , xxx) VALUES ('$t_stamp' , '".gethostbyaddr ($_SERVER['REMOTE_ADDR'])."' , '$self')");
Avatar billede swaq Nybegynder
20. november 2003 - 22:16 #16
Nu virker det, jeg har fundet fejlen! Det var mine includes som af en eller anden bizar årsag lavet lort i remote_addr... Men tak for din indsats - du får pointene
Avatar billede 7th Praktikant
20. november 2003 - 22:37 #17
Fint, tak for points :o)
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

IT-JOB