27. februar 2007 - 21:04Der er
18 kommentarer og 1 løsning
snuppe public ip på besøgende.
Hej eksperter.
Jeg roder lidt med at lave en hjemmeside på min NAS for venner og bekendte. I den anledning vil jeg gerne byde dem velkomne med navn og give dem forskellige muligheder alt efter hvem der besøger siden. Dette ønsker jeg at gøre via IP-adressen. Jeg ved godt at Ip-adressen ikke er sikker, at den kan være dynamisk og alt det der med proxy-servere, men det er mest ment som en øvelse for mig selv.
Min server er en appache- server der understøtter PHP og SSI skal derfor foregå via PHP.
Mit problem er at hver gang jeg kører noget som helst, så returnerer min kode altid den lokale ip. Den er jo 90% af gangene 192.168.1.*** , uanset hvem der besøger siden. jeg har prøvet med.
$ip = $_SERVER['REMOTE_ADDR']; //returnerer altid lokal IP
Jeg har haft held med at tvinge den frem med dette, som jeg har snuppet. $ippublic = gethostbyname("knud.borge-iii.udeip.net"); $output = $ippublic; $myfile = "e:\\ralf\\kette\\protected\\ipop.txt"; if($file=fopen($myfile, "w")) { $gh= fwrite($file, $output); }
Æv, kom til at sende. Kan man ikke redigere? Nå men ovenstående tvinger ip-adressen frem fordi at hosten er ukendt. Desvære kan jeg ikke gemme resultatet i en variabel, som jeg har forsøgt fordi jeg benytter fwrite. Er der ingen der kan komme med en løsning php eller script der giver mig den offentlige ip-adresse?
Jeg har jo forsøgt med $ip = $_SERVER['REMOTE_ADDR'];, men den returnerer altid lokal ip og jeg har forsøgt på flere computere hostet af forskellige isp
Men dine venner burde også få en public ip, og ikke bare 192.168.XXX.XXX Er du sikker på det er tilfældet? Prøv at lad dine venner åbne den side jeg også åbnede, og se om ikke den giver korrekt ip. Det er nemlig den rigtige måde at gøre det på.
Jeg prøvede selv fra mit arbejde og der returnerede den den lokale ip. Desuden har min lillebror og en kammerat prøvet med samme resultat. Siden du prøvede er den samme som vi prøvede minus en masse CSS. Den er blot renamet til index.php og så er css, klippet bort. Den 3 stump kode jeg indledte med er "sakset" fra en ligesindet på nettet og den viser korrekt ip, selvom det er lidt en omvej.
Ja det med lokalt opslag tænkte jeg også på, men når den ved 3 forskellige isp'er på 3 uafhængige net, viser den lokale ip, så tror jeg det er noget andet
Jeg må med skam, bekende at du har helt ret. Blandt de loggede data var adresserne 198.xxx.xxx.xxx, jeg troede fejlagtigt at det var interne netadresser fordi de lå så tæt på 192.168.xxx.xxx, som typisk bruges. Jeg har nu fra mit arbejde koblet op mod en af de bedre sider og den viser med alt tydelighed at Ip adressen faktisk er 198.xxx.xxx.xxx. Så fejlen ligger altså helt hos mig selv. At jeg får adressen på indersiden fra min egen PC inden for netværket, må skyldes lokat opslag. Læg et svar og du skal få dine velfortjente point.
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.