|
| Vise IP i php-script Fra : Finn Christensen |
Dato : 27-02-02 18:18 |
|
Jeg sidder og roder med nogle oversættelser af en gæstebog der bruger PHP og
ville i den forbindelse gerne lave en lille funkton, som kunne printe IP
adressen på den er skriver ind på gæstebogen...
Er der, som i SSI, en "standardkommando/funktion", som jeg kan proppe ind i
gæsteboge, så den echo'er IP adressen på den der skriver?
Finn
| |
morten sorensen (27-02-2002)
| Kommentar Fra : morten sorensen |
Dato : 27-02-02 19:21 |
|
"Finn Christensen" <finn@webhuset.NOSPAMZdk> wrote in message
news:Dw8f8.10419$Rz2.377742@news010.worldonline.dk...
> Jeg sidder og roder med nogle oversættelser af en gæstebog der bruger PHP
og
> ville i den forbindelse gerne lave en lille funkton, som kunne printe IP
> adressen på den er skriver ind på gæstebogen...
> Er der, som i SSI, en "standardkommando/funktion", som jeg kan proppe ind
i
> gæsteboge, så den echo'er IP adressen på den der skriver?
Variablen $REMOTE_ADDR indeholder clientens IP
På Win hedder det : $HTTP_SERVER_VARS["REMOTE_ADDR"] eller
$_SERVER["REMOTE_ADDR"]
morten sorensen
| |
Niels Andersen (27-02-2002)
| Kommentar Fra : Niels Andersen |
Dato : 27-02-02 21:30 |
|
"morten sorensen" <morten@YOUDOTHEMATHmortens.net> wrote in message
news:gs9f8.12213$PE.621484@news000.worldonline.dk...
> Variablen $REMOTE_ADDR indeholder clientens IP
....hvad TCP angår. I praksis kan HTTP-klienten (altså browseren) godt sidde
et andet sted, mens IP-adressen er brugerens proxy.
> På Win hedder det : $HTTP_SERVER_VARS["REMOTE_ADDR"] eller
> $_SERVER["REMOTE_ADDR"]
Det har intet med operativsystem at gøre, det har noget med opsætning at
gøre.
--
Mvh.
Niels Andersen
| |
morten sorensen (27-02-2002)
| Kommentar Fra : morten sorensen |
Dato : 27-02-02 22:02 |
|
"Niels Andersen" <niels-usenet@myplace.dk> wrote in message
news:Elbf8.10591$Rz2.387323@news010.worldonline.dk...
> "morten sorensen" <morten@YOUDOTHEMATHmortens.net> wrote in message
> news:gs9f8.12213$PE.621484@news000.worldonline.dk...
> > Variablen $REMOTE_ADDR indeholder clientens IP
>
> ...hvad TCP angår. I praksis kan HTTP-klienten (altså browseren) godt
sidde
> et andet sted, mens IP-adressen er brugerens proxy.
Det er rigtigt - men tættere på kan man vel ikke komme ?
> > På Win hedder det : $HTTP_SERVER_VARS["REMOTE_ADDR"] eller
> > $_SERVER["REMOTE_ADDR"]
>
> Det har intet med operativsystem at gøre, det har noget med opsætning at
> gøre.
På hvilken måde ?
Disse variable skal referes forskelligt i de opsætninger jeg har set.
morten sorensen
| |
Henrik Stidsen (28-02-2002)
| Kommentar Fra : Henrik Stidsen |
Dato : 28-02-02 01:00 |
|
"morten sorensen" <morten@YOUDOTHEMATHmortens.net> wrote in
news:lObf8.12564$PE.626684@news000.worldonline.dk
>> > På Win hedder det : $HTTP_SERVER_VARS["REMOTE_ADDR"] eller
>> > $_SERVER["REMOTE_ADDR"]
>>
>> Det har intet med operativsystem at gøre, det har noget med
>> opsætning at gøre.
>
> På hvilken måde ?
>
> Disse variable skal referes forskelligt i de opsætninger jeg har
> set.
ja netop - i de opsætninger du har set, det hele handler om versionen
af PH og hvordan php.ini er skruet sammen
--
Henrik Stidsen | HS235-DK | Samleobjekt
| |
Niels Andersen (28-02-2002)
| Kommentar Fra : Niels Andersen |
Dato : 28-02-02 09:08 |
|
"morten sorensen" <morten@YOUDOTHEMATHmortens.net> wrote in message
news:lObf8.12564$PE.626684@news000.worldonline.dk...
> > > Variablen $REMOTE_ADDR indeholder clientens IP
> > ...hvad TCP angår. I praksis kan HTTP-klienten (altså browseren) godt
> > sidde et andet sted, mens IP-adressen er brugerens proxy.
> Det er rigtigt - men tættere på kan man vel ikke komme ?
Det kommer an på hvad man skal bruge det til.
Nogle proxy'er angiver IP-adressen til dens klient i en header. Men det kan
man jo ikke stole på.
> > > På Win hedder det : $HTTP_SERVER_VARS["REMOTE_ADDR"] eller
> > > $_SERVER["REMOTE_ADDR"]
Det har ikke noget med OS at gøre, det kommer an på om REGISTER_GLOBALS er
slået til.
Hvis det er, så virker den korte. $HTTP_SERVER_VARS virker altid, men ligger
kun i global scope. $_SERVER kom i PHP 4.1.0, og er altid tilgængelig, selv
uden for global scope.
--
Mvh.
Niels Andersen
| |
morten sorensen (28-02-2002)
| Kommentar Fra : morten sorensen |
Dato : 28-02-02 09:58 |
|
"Niels Andersen" <niels-usenet@myplace.dk> wrote in message
news:Kzlf8.109$b33.6218@news010.worldonline.dk...
> "morten sorensen" <morten@YOUDOTHEMATHmortens.net> wrote in message
> news:lObf8.12564$PE.626684@news000.worldonline.dk...
> > > > Variablen $REMOTE_ADDR indeholder clientens IP
> > > ...hvad TCP angår. I praksis kan HTTP-klienten (altså browseren) godt
> > > sidde et andet sted, mens IP-adressen er brugerens proxy.
> > Det er rigtigt - men tættere på kan man vel ikke komme ?
>
> Det kommer an på hvad man skal bruge det til.
> Nogle proxy'er angiver IP-adressen til dens klient i en header. Men det
kan
> man jo ikke stole på.
>
> > > > På Win hedder det : $HTTP_SERVER_VARS["REMOTE_ADDR"] eller
> > > > $_SERVER["REMOTE_ADDR"]
>
> Det har ikke noget med OS at gøre, det kommer an på om REGISTER_GLOBALS er
> slået til.
OK - nu er jeg med. Er det noget man kan gøre selv i et script - eller kan
det kun ske i php.ini ?
> Hvis det er, så virker den korte. $HTTP_SERVER_VARS virker altid, men
ligger
> kun i global scope. $_SERVER kom i PHP 4.1.0, og er altid tilgængelig,
selv
> uden for global scope.
Det korte af det lange : Hvis jeg skal skrive noget der såvidt muligt skal
virke på forskellige platforme - uafhængig af opsætning, ville det være
bedst at bruge $_SERVER[] (idet jeg antager at php >= 4.1.0) ?
morten sorensen
| |
Niels Andersen (28-02-2002)
| Kommentar Fra : Niels Andersen |
Dato : 28-02-02 10:11 |
|
"morten sorensen" <morten@YOUDOTHEMATHmortens.net> wrote in message
news:kimf8.12834$PE.922632@news000.worldonline.dk...
> > Det har ikke noget med OS at gøre, det kommer an på om REGISTER_GLOBALS
er
> > slået til.
> OK - nu er jeg med. Er det noget man kan gøre selv i et script - eller kan
> det kun ske i php.ini ?
Det kan ikke gøres i et script, da det bliver udført inden scriptets start.
Der er en ovesigt her: http://dk.php.net/ini-set som viser hvad der kan
indstilles hvor.
> Det korte af det lange : Hvis jeg skal skrive noget der såvidt muligt skal
> virke på forskellige platforme - uafhængig af opsætning, ville det være
> bedst at bruge $_SERVER[] (idet jeg antager at php >= 4.1.0) ?
Hvis du antager PHP >= 4.1.0, så anbefales det at bruge $_-variablerne. De
vil altid være tilgængelige.
--
Mvh.
Niels Andersen
| |
Finn Christensen (27-02-2002)
| Kommentar Fra : Finn Christensen |
Dato : 27-02-02 23:28 |
|
"morten sorensen" <morten@YOUDOTHEMATHmortens.net> skrev i en meddelelse
news:gs9f8.12213$PE.621484@news000.worldonline.dk...
>
>
> Variablen $REMOTE_ADDR indeholder clientens IP
>
Skriver jeg "bare" noget med "echo $REMOTE_ADDR" der hvor jeg vil "printe
oplysningerne?
Undskyld hvis jeg spørger dumt - forsøger at sætte mig langsomt ind i mere
om PHP
Finn
| |
Andreas Kleist Svend~ (27-02-2002)
| Kommentar Fra : Andreas Kleist Svend~ |
Dato : 27-02-02 23:54 |
|
On Wed, 27 Feb 2002 23:28:10 +0100
"Finn Christensen" <finn@webhuset.NOSPAMZdk> wrote:
> Skriver jeg "bare" noget med "echo $REMOTE_ADDR" der hvor jeg vil
> "printe oplysningerne?
Yeps. Du skal selvfølgelig huske at gå i PHP-mode, altså <?php, og så skal
du huske et semikolon efter udtrykket.
<?php
echo $REMOTE_ADDR;
?>
Hvis det ikke virker er det fordi register_globals ikke er slået til, i så
fald kan du bruge $HTTP_SERVER_VARS['REMOTE_ADDR'] i stedet for
$REMOTE_ADDR.
--
mvh Andreas Kleist Svendsen
| |
|
|