Page 1 sur 1

question sur une ip

Posté : 28 mars 2007, 21:59
par hakazizi
Dans un des champs de ma bd j'ai cette adresse ip et je voudrais en connaitre la signification ce qui me trouble le plus c'est qu'il y a trois ip dont une d'un serveur local mon site remunere les membres pour cliquer peut -il s'agir d'un de ses fameux robots clickeur et comment faire pour s'en premunir

Code : Tout sélectionner

192.168.225.248, 10.128.53.185, 127.0.0.1
merci

Posté : 31 mars 2007, 04:47
par Xenon_54
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

Posté : 31 mars 2007, 10:53
par hakazizi
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
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 code
//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 suffisant

Posté : 31 mars 2007, 14:06
par lord.anonymous
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
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 code
//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();
}
merci de me dire si cela est suffisant
Ben tu ne pourras plus accéder à ton site en local...

Posté : 31 mars 2007, 14:32
par hakazizi
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
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???

Posté : 01 avr. 2007, 05:14
par Xenon_54
La variable peut récupérer l'IP en arrière du NAT.

Tu peux lire la doc sur getenv():
http://www.php.net/getenv
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.
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.
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.

Posté : 02 août 2007, 22:12
par hakazizi
donc en mettant ce code a la place du premier je devrait avoir de meilleur resultat quand au serveur proxy ou pas? merci.
excusez moi de ne pas être intervenu plus tot mais j'ai eu quelque probleme avec mon pc et ma connection 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_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(); 
} 

Posté : 02 août 2007, 22:32
par Hubert Roksor
cela veut donc dire que j'ai un tricheur
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.

Posté : 03 août 2007, 16:58
par hakazizi
quoi faire alors pour bloqué les serveurs proxy?...
merci

Posté : 03 août 2007, 17:24
par Hubert Roksor
Il existe 2 sortes de proxies (serveurs mandataires en français). Les proxies "transparents", qui relaient la véritable IP de l'utilisateur dans l'en-tête X-Forwarded-For. Ça, tous les FAI français en utilisent et il serait très dommageable de les bloquer. À toi de relever les IPs de tous les proxies de tous les FAIs français si tu veux utiliser l'IP contenue dans X-Forwarded-For.

L'autre catégorie sont les proxies "anonymes" (ou "anonymisant") qui eux ne relaient pas l'IP de l'utilisateur, et qui sont très difficiles à identifier puisqu'ils se comportent comme un utilisateur normal.

Pour résumer, tu ne peux pas bloquer les proxies, si tu essaies tu perdras ton temps, désolé.

Posté : 04 août 2007, 13:38
par hakazizi
je continue avec les ip qui n'on rien a faire sur le web en premiere couche de protection
nouveau probleme
voici l'erreur que j'obtient

Code : Tout sélectionner

Warning: ereg(): REG_ERANGE in c:\program files\easyphp1-8\www\easycashptp\admin\config.inc.php on line 52
la ligne qui pose probleme
$verifproxi3="^[172.16-31.0-9.0-9]{0,14}$";
je ne comprend pas ou est l'erreur merci