/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Kan man hente sin WAN IP fra sin router ti~
Fra : Mogens Jensen


Dato : 06-08-11 10:13

PT registrerer jeg alle hits på min websites første side.
Desværre også mine egne når jeg tester. Det sidste vil jeg gerne undgå.
Kender nogen en nem og sikker måde at hive sin IP ud af ens router.
Den IP kunne jeg bruge til at skippe egne tests i min opsamling af hits.

--
Mvh. Mogens Jensen


 
 
Bertel Lund Hansen (06-08-2011)
Kommentar
Fra : Bertel Lund Hansen


Dato : 06-08-11 10:45

Mogens Jensen skrev:

> PT registrerer jeg alle hits på min websites første side.
> Desværre også mine egne når jeg tester. Det sidste vil jeg gerne undgå.
> Kender nogen en nem og sikker måde at hive sin IP ud af ens router.
> Den IP kunne jeg bruge til at skippe egne tests i min opsamling af hits.

Tre nyttige systemvariable (hvor $ip, $port og $user_agent er
mine egne variable)

$ip = $_SERVER['REMOTE_ADDR'];
$port = $_SERVER['REMOTE_PORT'];
$user_agent = $_SERVER['HTTP_USER_AGENT'];

--
Bertel
http://bertel.lundhansen.dk/      http://fiduso.dk/

Bertel Lund Hansen (06-08-2011)
Kommentar
Fra : Bertel Lund Hansen


Dato : 06-08-11 10:47

Bertel Lund Hansen skrev:

> Tre nyttige systemvariable (hvor $ip, $port og $user_agent er
> mine egne variable)

Oh hele molesjasen er i manualen:

http://dk.php.net/manual/en/reserved.variables.server.php

--
Bertel
http://bertel.lundhansen.dk/      http://fiduso.dk/

Mogens Jensen (06-08-2011)
Kommentar
Fra : Mogens Jensen


Dato : 06-08-11 16:34


"Bertel Lund Hansen" <splitteminebramsejl@lundhansen.dk> skrev i meddelelsen
news:4e3d0d12$0$304$14726298@news.sunsite.dk...
> Mogens Jensen skrev:

>
> $ip = $_SERVER['REMOTE_ADDR'];
> $port = $_SERVER['REMOTE_PORT'];
> $user_agent = $_SERVER['HTTP_USER_AGENT'];


Det kan jeg ikke bruge til at se om det er min egen WAN IP
uden jeg kender min egen IP i forvejen.

Jeg ønsker at registrere alle andres hits i en database.
Men ikke egne hits. Dertil har jeg brug for en noget der ligner

if ($_SERVER['REMOTE_ADDR'] == $min_routers_WAN_IP)
så skal registrering IKKE ske.

For at udføre ovenstående skal jeg kende min routers WAN IP.
Beklager hvis jeg har været uklar i mit spørgsmål, men det er
hvad det går ud på. Hvordan finder jeg/henter jeg

$min_routers_WAN_IP til mit php program.

--
Mvh. Mogens Jensen


Krabsen (06-08-2011)
Kommentar
Fra : Krabsen


Dato : 06-08-11 16:51

Den 06-08-2011 17:34, Mogens Jensen skrev:
>
> "Bertel Lund Hansen" <splitteminebramsejl@lundhansen.dk> skrev i
> meddelelsen news:4e3d0d12$0$304$14726298@news.sunsite.dk...
>> Mogens Jensen skrev:
>>
>> $ip = $_SERVER['REMOTE_ADDR'];
>> $port = $_SERVER['REMOTE_PORT'];
>> $user_agent = $_SERVER['HTTP_USER_AGENT'];
>
> Det kan jeg ikke bruge til at se om det er min egen WAN IP
> uden jeg kender min egen IP i forvejen.
>
> Jeg ønsker at registrere alle andres hits i en database.
> Men ikke egne hits. Dertil har jeg brug for en noget der ligner
>
> if ($_SERVER['REMOTE_ADDR'] == $min_routers_WAN_IP)
> så skal registrering IKKE ske.
>
> For at udføre ovenstående skal jeg kende min routers WAN IP.
> Beklager hvis jeg har været uklar i mit spørgsmål, men det er
> hvad det går ud på. Hvordan finder jeg/henter jeg
>
> $min_routers_WAN_IP til mit php program.

Du skifter formentlig ikke Router så tit, så kan du ikke bare logge ind
på den og se IP-nummeret?

Et alternativ er at bruge f.eks. http://www.whatismyip.com/ og så parse
resultatet











Kim Ludvigsen (06-08-2011)
Kommentar
Fra : Kim Ludvigsen


Dato : 06-08-11 18:16

Den 06-08-2011 17:34, Mogens Jensen skrev:

> Jeg ønsker at registrere alle andres hits i en database.
> Men ikke egne hits. Dertil har jeg brug for en noget der ligner

Jeg bruger en cookie til noget lignende. Det betyder også,
at jeg nemt kan skifte maskine/IP-adresse, og så alligevel
få det til at virke.

Cookien sættes med en cookie-fil i stil med cookie.php som
andre selvfølgelig ikke skal kende til. Bruger jeg en anden
computer/forbindelse, starter jeg blot med at sætte cookien:
http://domæne.dk/cookie.php

I sidens kode tjekkes der blot for cookies i stil med:
if (isset($_COOKIE["mincookie"])) {
gør ditten;
}
else {
gør datten;
}

--
Mvh. Kim Ludvigsen
Hold dit livs drømmeferie i Thailand:
http://rejse-til-thailand.dk

Birger Sørensen (06-08-2011)
Kommentar
Fra : Birger Sørensen


Dato : 06-08-11 19:24

Kim Ludvigsen forklarede:
> Den 06-08-2011 17:34, Mogens Jensen skrev:
>
>> Jeg ønsker at registrere alle andres hits i en database.
>> Men ikke egne hits. Dertil har jeg brug for en noget der ligner
>
> Jeg bruger en cookie til noget lignende. Det betyder også, at jeg nemt kan
> skifte maskine/IP-adresse, og så alligevel få det til at virke.
>
> Cookien sættes med en cookie-fil i stil med cookie.php som andre selvfølgelig
> ikke skal kende til. Bruger jeg en anden computer/forbindelse, starter jeg
> blot med at sætte cookien: http://domæne.dk/cookie.php
>
> I sidens kode tjekkes der blot for cookies i stil med:
> if (isset($_COOKIE["mincookie"])) {
> gør ditten;
> }
> else {
> gør datten;
> }

Et alternativ, er at have en side du logger ind på, og læser ip'en -
gem i fil eller db. (du må i forvejen have en eller anden form for
admin side til databasen?)
Så kan du checke mod den og skippe registrering, hvis det er den samme.

Birger

--
http://varmeretter.dk - billig, sund og hurtig mad
http://bbsorensen.dk



Chano Andersen (06-08-2011)
Kommentar
Fra : Chano Andersen


Dato : 06-08-11 23:03

Den 06-08-2011 17:34, Mogens Jensen skrev:
> For at udføre ovenstående skal jeg kende min routers WAN IP.
> Beklager hvis jeg har været uklar i mit spørgsmål, men det er
> hvad det går ud på. Hvordan finder jeg/henter jeg
>
> $min_routers_WAN_IP til mit php program.
>

Hvilken metode du skal bruge, afhænger af hvor din server er placeret..

Hvis den står BAG din egen router, så kan du hente følgende URL for at
få din WAN IP, i dit script:

http://minipadresse.dk/api.php?type=plain
Den returnere den IPv4 eller IPv6 adresse du besøger siden med. (IPv4
only findes på ipv4.minipadresse.dk, når DNS bliver opdateret, IPv6 only
allerede nu, på ipv6.minipadresse.dk)

Det kunne f.eks. ske sådan her:

$ipdata = file("http://minipadresse.dk/api.php?type=plain");
if ($ipdata[0] == $_SERVER['REMOTE_ADDR']):
echo "WAN IP og Remote IP er ens";
else:
echo "WAN IP og Remote IP er forskellige";
endif;

Hvis din webserver IKKE er bag din egen router, kan du bruge en dynamisk
dns service, som f.eks. dyndns.org som er den eneste jeg har set
supporteret af routere. Du laver så et opslag på hostnavnet, kan gøres
sådan her: (Virker KUN med IPv4 adresser)

if (gethostbyname('whatever.dyndns.org') == $_SERVER['REMOTE_ADDR']):
echo "WAN IP og Remote IP er ens";
else:
echo "WAN IP og Remote IP er forskellige";
endif;

Ud over det, har du ingen muligheder for at finde din routers IP fra dit
PHP script, uden på forhånd at kunne snakke med routeren via PHP, og
dermed naturligvis allerede kende IP'en.

- Chano Andersen

Stig Johansen (08-08-2011)
Kommentar
Fra : Stig Johansen


Dato : 08-08-11 10:43

Chano Andersen wrote:

> Ud over det, har du ingen muligheder for at finde din routers IP fra dit
> PHP script, uden på forhånd at kunne snakke med routeren via PHP, og
> dermed naturligvis allerede kende IP'en.

Lidt insekterotik, men hvis man kan lave en 'traceroute' vha PHP, kan man
finde den første offentlige adresse.

'nsekterotik', for der findes lammede folk, der tror 'PING' er en
sikkerhedsrisiko.

--
Med venlig hilsen
Stig Johansen

Chano Andersen (08-08-2011)
Kommentar
Fra : Chano Andersen


Dato : 08-08-11 11:03

Den 08-08-2011 11:42, Stig Johansen skrev:
> Chano Andersen wrote:
>
>> Ud over det, har du ingen muligheder for at finde din routers IP fra dit
>> PHP script, uden på forhånd at kunne snakke med routeren via PHP, og
>> dermed naturligvis allerede kende IP'en.
>
> Lidt insekterotik, men hvis man kan lave en 'traceroute' vha PHP, kan man
> finde den første offentlige adresse.

Traceroute hvor fra? Fra serveren, eller klienten? Hvis du laver
traceroute fra indersiden af routeren, så vil du få routerens LAN IP
ikke WAN IP'en på første hop. Hvis du tracer den anden vej, så er det
sidste IP, og den kender du så i forvejen, da du har brugt den som
destinition i din trace.

> 'nsekterotik', for der findes lammede folk, der tror 'PING' er en
> sikkerhedsrisiko.

Det eneste den kan gøre, er at fortælle, at noget rent faktisk har den
IP man forsøger at scanne. Jeg har svært ved at se sikkerhedsrisikoen i
det, men det gør mapping af netværket noget sværere, forudsat at
værktøjet er afhængigt af ping svar.

- Chano Andersen

Stig Johansen (08-08-2011)
Kommentar
Fra : Stig Johansen


Dato : 08-08-11 11:23

Chano Andersen wrote:

> Traceroute hvor fra? Fra serveren, eller klienten?

Da det er PHP går jeg ud fra det er en server.

> Hvis du laver
> traceroute fra indersiden af routeren, så vil du få routerens LAN IP
> ikke WAN IP'en på første hop.

Jeg skrev ikke første hop, men første offentlige adresse.

Nu kender vi ikke hans opsætning, men der er nogle routere der laver et
'roundtrip' omkring Wan IP'en, selvom det er på bagsiden af LAN'et.

Men bare glem det, for der er vist ikke mange opsætninger hvor Wan IP'en
skifter adresse i tide og utide.

(Bortset fra højt belastede DSL med kort lease time).

>> 'nsekterotik', for der findes lammede folk, der tror 'PING' er en
>> sikkerhedsrisiko.
>
> Det eneste den kan gøre, er at fortælle, at noget rent faktisk har den
> IP man forsøger at scanne. Jeg har svært ved at se sikkerhedsrisikoen i
> det, men det gør mapping af netværket noget sværere, forudsat at
> værktøjet er afhængigt af ping svar.

Det var sarkastisk ment, da jeg har oplevet at f.eks. CSC havde disablet
ping på 'Statens netværk', hvilket gjorde fejlfinding _meget_ svært.

Heldigvis var jeg på 'timeløn', så i virkeligheden gjorde de mig måske en
tjeneste

--
Med venlig hilsen
Stig Johansen

Chano Andersen (08-08-2011)
Kommentar
Fra : Chano Andersen


Dato : 08-08-11 23:56

Den 08-08-2011 12:22, Stig Johansen skrev:
> Chano Andersen wrote:
>
>> Traceroute hvor fra? Fra serveren, eller klienten?
>
> Da det er PHP går jeg ud fra det er en server.

Men hvis det er egen WAN adresse man vil finde, så nytter det kun hvis
serveren står BAG ens egen router, og så kontakter man den sikkert
alligevel på en RFC1918 adresse.

> Jeg skrev ikke første hop, men første offentlige adresse.
>
> Nu kender vi ikke hans opsætning, men der er nogle routere der laver et
> 'roundtrip' omkring Wan IP'en, selvom det er på bagsiden af LAN'et.


Det sker ikke på min YouSee forbindelse... Der ser en traceroute sådan
her ud:

C:\Users\chano>tracert -d 87.238.249.100

Rute spores til 87.238.249.100 over et maksimum af 30 hop

1 8 ms 10 ms 7 ms 10.60.0.1
2 7 ms 8 ms 6 ms 10.250.0.17
3 11 ms 7 ms 7 ms 62.242.105.253
4 13 ms 9 ms 9 ms 83.88.21.83
5 10 ms 9 ms 9 ms 195.215.109.98
6 11 ms 11 ms 11 ms 87.238.249.100

Sporing fuldført.

Den anden vej ser det sådan her ud:

mail ~ # traceroute -I 80.167.144.109
traceroute to 80.167.144.109 (80.167.144.109), 30 hops max, 60 byte packets
1 172.16.249.105 (172.16.249.105) [*]
2 87.238.248.1 (87.238.248.1) [AS9167]
3 ge-7-0-6-1000M.alb2nqp7.ip.tele.dk (195.215.109.97) [AS3292]
4 xe-3-1-0.odnqu1.dk.ip.tdc.net (83.88.22.58) [AS3292]
5 cpe.xe-3-0-0-106.odnqu1.customer.tele.dk (62.242.105.254) [AS3292]
6 x1-6-c4-3d-c7-b3-46-1a.k303.webspeed.dk (80.167.144.109) [AS3292]

Hvordan kan du på første trace, udlede WAN IP'en?

> Det var sarkastisk ment, da jeg har oplevet at f.eks. CSC havde disablet
> ping på 'Statens netværk', hvilket gjorde fejlfinding _meget_ svært.

Tja, jeg har ikke positive erfaringer med CSC, jeg skulle heldigvis ikke
betale. :P

> Heldigvis var jeg på 'timeløn', så i virkeligheden gjorde de mig måske en
> tjeneste

Tja, du burde sende dem et takkekort. ;)

- Chano Andersen

Stig Johansen (09-08-2011)
Kommentar
Fra : Stig Johansen


Dato : 09-08-11 09:11

Chano Andersen wrote:

> Hvordan kan du på første trace, udlede WAN IP'en?

Det er gået op for mig at jeg blander noget sammen

Jeg tænkte på den problemstilling hvor man har en NAT'ed server, og forsøger
at tilgå den via Wan-IP'en.

Her vil man typisk få 'routerkonfigurationen' fra bagsiden af LAN'et.

Jeg har ikke haft mit eget 'net' i flere år, så det er nok det der altz...,
der kommer ind i billedet.

>> Heldigvis var jeg på 'timeløn', så i virkeligheden gjorde de mig måske en
>> tjeneste
>
> Tja, du burde sende dem et takkekort. ;)

Ja, det burde jeg nok

Men det var nu Økonomistyrelsen der stod for afregningerne, og prompte
betalte fakturaer var tak nok for mig

Historik:
Der var tale om 'implementering af Navision Stat', hvor hver eneste
institution skulle have deres eget regnskab (aka Navision).

Det blev til mere end 200 serverinstallationer, alle bundet op mod en
central server.

Som forberedelse skulle institutionerne (IT afdelingen) konfigurere
routere/firewalls, så der var åbent for MS SQLServer (begge veje).

Ikke alle 'institutioner' havde den fornødne kompetance, men de kunne kun
se: 'connection refused' - eller hvad det nu var - det samme fra ØS og ud.

Da der var flere routere (hops) involveret, ville det have været lidt
nemmere hvis man kunne se hvor det fejlede.

(CSC's routere var også impliceret, da de stod for driften af 'statens
netværk').

Lidet kendt projekt, men sjovt at stå for ;)

--
Med venlig hilsen
Stig Johansen

Bertel Lund Hansen (07-08-2011)
Kommentar
Fra : Bertel Lund Hansen


Dato : 07-08-11 07:29

Mogens Jensen skrev:

>> $ip = $_SERVER['REMOTE_ADDR'];
>> $port = $_SERVER['REMOTE_PORT'];
>> $user_agent = $_SERVER['HTTP_USER_AGENT'];

> Det kan jeg ikke bruge til at se om det er min egen WAN IP
> uden jeg kender min egen IP i forvejen.

Den udskriver du én gang på en side, og derefter skriver du den
ind i koden.

--
Bertel
http://bertel.lundhansen.dk/      http://fiduso.dk/

Mogens Jensen (07-08-2011)
Kommentar
Fra : Mogens Jensen


Dato : 07-08-11 08:22


"Mogens Jensen" <mojen@live????.dk> skrev i meddelelsen
news:4e3d06e4$0$305$14726298@news.sunsite.dk...

Nu har jeg lavet følgende og det ser ud til at fungere:


// pgm1 ligger på min maskine. localhost/ipcheck/ipstart.php programmet:

header("Location: http://ipcheck.minserver.dk/ipsend.php");
exit;

// pgm2 ligger på minserver. ipcheck.minserver.dk/ipsend.php:

$ip = $_SERVER['REMOTE_ADDR'];
$pgm = ("http://$ip/ipcheck/rip.php?ip=$ip");
header("Location: ". $pgm);
exit;

// pgm3 ligger også på min maskine. localhost/ipcheck/rip.php programmet:

$ip = $_GET['ip'];
$msg = ("Modtaget WAN IP er $ip.");
exit ($msg);

--
Mvh. Mogens Jensen


Søg
Reklame
Statistik
Spørgsmål : 177414
Tips : 31962
Nyheder : 719565
Indlæg : 6407839
Brugere : 218876

Månedens bedste
Årets bedste
Sidste års bedste