Tidigare idag stötte jag på en användare på min egen server som hade samma ip som mig när jag hämtade det med $_SERVER['REMOTE_ADDR']. Hur sjutton kan det gå till?
r/ Och det var ingen som sitter på samma uppkoppling. Det är jag 100 på.
5 svar · 726 visningar · startad av Nexus86
Tidigare idag stötte jag på en användare på min egen server som hade samma ip som mig när jag hämtade det med $_SERVER['REMOTE_ADDR']. Hur sjutton kan det gå till?
r/ Och det var ingen som sitter på samma uppkoppling. Det är jag 100 på.
Det är inte så att du har ex. ett cronjob på den servern som startar ex. lynx och surfar till någon av dina sidor?
K++ Kan du utveckla det där? Vad är det som inte är säkert? Visar den ett felaktigt IP menar du?
Kanske glömde nämna det men jag kör Windows Server så det är inte så stor risk att den kör ett cronjob och startar lynx. ;)
Peeer Ja, det har hänt att remote_address _kan_ visa fel adress eller ingen adress allt, även om det är sällsynt. Därför har jag ett script som först kollar om HTTP_CLIENT_IP exsisterar, efter det kör jag annars på REMOTE_ADDR och om inte remote_address funkar så kör jag på HTTP_X_FORWARD_FOR annars är det okänt
K++ skrev:
Peeer Ja, det har hänt att remote_address _kan_ visa fel adress eller ingen adress allt, även om det är sällsynt. Därför har jag ett script som först kollar om HTTP_CLIENT_IP exsisterar, efter det kör jag annars på REMOTE_ADDR och om inte remote_address funkar så kör jag på HTTP_X_FORWARD_FOR annars är det okänt
Det blir ju fel nu också? :q
Denna funktion använder jag:
function remoteIP() {
if (isValidIP($_SERVER['HTTP_CLIENT_IP'])) {
return $_SERVER['HTTP_CLIENT_IP'];
} elseif ($_SERVER['HTTP_X_FORWARDED_FOR']!="") {
$forward = split(" ", str_replace(",","",$_SERVER['HTTP_X_FORWARDED_FOR']));
foreach($forward as $value) {
if (isValidIP($value)) return $value;
}
}
return $_SERVER['REMOTE_ADDR'];
}
Jag stöter fortfarande på en som har samma ip som jag. isValidIP() är det inget fel på. Den validerar bara ip-adresser.