Code : Tout sélectionner
192.168.225.248, 10.128.53.185, 127.0.0.1
Code : Tout sélectionner
192.168.225.248, 10.128.53.185, 127.0.0.1
ok cela veut donc dire que j'ai un tricheur sur mon site merci pour evitez que cela ne se reproduise j'ai installez ce code127.0.0.1 -> Ta propre machine
10.x.x.x -> IP locale, ne fonctionne pas sur Internet
172.16.x.x à 172.31.x.x -> IP locale, ne fonctionne pas sur Internet
192.168.x.x -> IP locale, ne fonctionne pas sur Internet
//récupération de l'IP
if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
}
elseif(isset($_SERVER['HTTP_CLIENT_IP'])) {
$ip = $_SERVER['HTTP_CLIENT_IP'];
}
else {
$ip = $_SERVER['REMOTE_ADDR'];
}
$expr_reg2 = "^[0-10.]{10,20}$";
if(!ereg($expr_reg2,$ip))
{
echo"Une erreur inatendu s'est produite";
exit();
}
merci de me dire si cela est suffisantBen tu ne pourras plus accéder à ton site en local...ok cela veut donc dire que j'ai un tricheur sur mon site merci pour evitez que cela ne se reproduise j'ai installez ce code127.0.0.1 -> Ta propre machine
10.x.x.x -> IP locale, ne fonctionne pas sur Internet
172.16.x.x à 172.31.x.x -> IP locale, ne fonctionne pas sur Internet
192.168.x.x -> IP locale, ne fonctionne pas sur Internetmerci de me dire si cela est suffisant//récupération de l'IP if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { $ip = $_SERVER['HTTP_X_FORWARDED_FOR']; } elseif(isset($_SERVER['HTTP_CLIENT_IP'])) { $ip = $_SERVER['HTTP_CLIENT_IP']; } else { $ip = $_SERVER['REMOTE_ADDR']; } $expr_reg2 = "^[0-10.]{0,20}$"; if(!ereg($expr_reg2,$ip)) { echo"Une erreur inatendu s'est produite"; exit(); }
il y a une chose que je n'ai pas compris comment ce fait-il que ma recuperation ip a chopez ses ip si elle ne fonctionne pas sur internet???127.0.0.1 -> Ta propre machine
10.x.x.x -> IP locale, ne fonctionne pas sur Internet
172.16.x.x à 172.31.x.x -> IP locale, ne fonctionne pas sur Internet
192.168.x.x -> IP locale, ne fonctionne pas sur Internet
Be careful using HTTP_X_FORWARDED_FOR in conditional statements collecting the IP address. Sometimes the user's LAN address will get forwarded, which of course is pretty worthless by itself.
Donc HTTP_X_FORWARDED_FOR peut retourner toutes les IP des proxy utilisés, cela peut inclure des IP locales. À toi de valider le tout. phpBB possède une fonction pour ça dans sa source. Vérifie à ce niveau.Note that the X-Forwarded for header might contain multiple addresses, comma separated, if the request was forwarded through multiple proxies.
Finally, note that any user can add an X-Forwarded-For header themselves. The header is only good for traceback information, never for authentication. If you use it for traceback, just log the entire X-Forwarded-For header, along with the REMOTE_ADDR.
//récupération de l'IP
if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
}
elseif(isset($_SERVER['HTTP_CLIENT_IP'])) {
$ip = $_SERVER['HTTP_CLIENT_IP'];
}
else {
$ip = $_SERVER['REMOTE_ADDR'];
}
$expr_reg1="^[127.0.0.1]{9}$";
$expr_reg2="^[10.0-9.0-9.0-9]{0,14}$";
$expr_reg3="^[172.16-31.0-9.0-9]{0,14}$";
$expr_reg4="^[192.168.0-9.0-9]{0,15}$";
if(!ereg($expr_reg1,$ip) || !ereg($expr_reg2,$ip) || !ereg($expr_reg3,$ip) || !ereg($expr_reg4,$ip))
{
echo"Une erreur inatendu s'est produite";
exit();
}
Pas du tout, c'est le comportement normal de certains proxies, à toi de filtrer les IPs privées. D'ailleurs, un tricheur mettrait une IP publique et tu serais incapable de faire la différence... Mon conseil : ignore le champs X-Forwarded-For, on peut y mettre ce que l'on veut, proxy ou pas.cela veut donc dire que j'ai un tricheur
Code : Tout sélectionner
Warning: ereg(): REG_ERANGE in c:\program files\easyphp1-8\www\easycashptp\admin\config.inc.php on line 52$verifproxi3="^[172.16-31.0-9.0-9]{0,14}$";
je ne comprend pas ou est l'erreur merci