hoi hoi, als ik het commando $REMOTE_ADDR gebruik krijg ik het openbare ip adres te zien. maar ik wil eigenlijk het IP nummer hebben van als ze achter de proxy zitten. dus zou ik als resultaat 172.16.x.x of 192.168.x.x

snap ie ?
$_SERVER['X_FORWARDED_FOR']
ook nu krijg ik het 213.x.x.x nummer te zien !!
hmm.. vlgns mij kan dat niet ;)
http://nl.php.net/getenv op dit adres hebben ze het er ook over geloof ik alleen kan ik het niet helemaal volgen :S
die code van mij werkt wel met interne proxies, als je op hetzelfde netwerk zit dan zou het moeten werken
maar anders is het niet te achterhalen
<?php
function ip() {
if(getenv(HTTP_X_FORWARDED_FOR)) {
echo("getenv(HTTP_X_FORWARDED_FOR);");
} elseif(getenv(HTTP_CLIENT_IP)) {
echo("getenv(HTTP_CLIENT_IP);");
} else {
echo("$REMOTE_ADDR;");
}
}
?>
Let wel op: dit maakt met mogelijk voor mensen om zelf een ip adres op te geven.

De HTTP_X_FORWARDED_FOR wordt door de proxy meegegeven, en maakt het dus mogelijk om deze ook zelf mee te geven :)

Zo maak je door het ene gat te dichten, gelijk een nieuw gat.
<?php
function ip() {
if(getenv(HTTP_X_FORWARDED_FOR)) {
echo("getenv(HTTP_X_FORWARDED_FOR);");
} elseif(getenv(HTTP_CLIENT_IP)) {
echo("getenv(HTTP_CLIENT_IP);");
} else {
echo("$REMOTE_ADDR;");
}
}
?>


met dit script krijg ik helemaal niets te zien !!
ik heb gewoon copy / paste gedaan maar helaas zonder resultaat.
Als je goed kijkt zie je dat het een functie is.

Door ip(); aan te roepen zal ip() ware het een variabele het ip weergeven.

dus:

<?
function ip() {
if(getenv(HTTP_X_FORWARDED_FOR)) {
echo("getenv(HTTP_X_FORWARDED_FOR);");
} elseif(getenv(HTTP_CLIENT_IP)) {
echo("getenv(HTTP_CLIENT_IP);");
} else {
echo("$REMOTE_ADDR;");
}
}
print ip();
?>

Zal het ip weergeven.

Grtz,

Arend
ik krijg nu deze foutmelding:

Fatal error: Cannot redeclare ip() (previously declared in /usr/local/psa/home/vhosts/skyfy.info/httpdocs/klantcontrole/test.php3:151) in /usr/local/psa/home/vhosts/skyfy.info/httpdocs/klantcontrole/test.php3 on line 15

regel 15 is : function ip() {


Reageren