TheRec
mardi 11 avril 2006 à 22:11
Bonjour,
Fermer le
chat n'est pas une bonne solution à mon avis, ce ne serait que donner raison à ce genre d'individu (et Dieu sait qu'il sont nombreux).
Pour changer d'IP il va utiliser soit un ou des proxies...ou encore profiter du fait qu'il change souvent d'IP avec son hébergeur... si tu vois que l'adresse IP de cette personne est toujours résolue vers un nom d'hôte dont le domaine est toujours semblable tu peux raisonnablement pense qu'il n'utilise pas de proxy...et normalement un courriel au service "abuse" de son provider avec log de ton
chat à l'appui devrait vite calmer l'abonné...généralement les ISP souhaitent éviter la mauvais publicité... bien entendu joins-y les IP, heures et log des communications afin qu'il puisse se rendre compte du problème...
Si la partie nom de domaine des noms d'hôtes change souvent voir à chaque fois c'est qu'il utilise certainement des proxies...suivant la qualité du proxy (transparent ou non) il te sera possible de récupérer tout de même son adresse IP voici deux fonctions PHP qui récupère l'adresse IP et la testent le plus efficacement possible à ma connaissance :
CODE
function valid_internet_ip($ip)
{
if (!empty($ip) && ip2long($ip)!=-1)
{
$reserved_ip = array (
array('0.0.0.0','2.255.255.255'),
array('10.0.0.0','10.255.255.255'),
array('127.0.0.0','127.255.255.255'),
array('169.254.0.0','169.254.255.255'),
array('172.16.0.0','172.31.255.255'),
array('192.0.2.0','192.0.2.255'),
array('192.168.0.0','192.168.255.255'),
array('255.255.255.0','255.255.255.255')
);
foreach ($reserved_ip as $r)
{
$min = ip2long($r[0]);
$max = ip2long($r[1]);
if ((ip2long($ip) >= $min) && (ip2long($ip) <= $max)) return false;
}
return true;
}
else return false;
}
function get_ip() {
if(valid_internet_ip($_SERVER['HTTP_CLIENT_IP'])) {
return $_SERVER['HTTP_CLIENT_IP'];
} elseif($_SERVER['HTTP_X_FORWARDED_FOR']!="") {
$forwarded=str_replace(",","",$_SERVER['HTTP_X_FORWARDED_FOR']);
$forwarded_array=split(" ",$forwarded);
foreach($forwarded_array as $value) {
if (valid_internet_ip($value)) {
return $value;
}
}
}
return $_SERVER['REMOTE_ADDR'];
}
Dans tous les cas tu obtiens un adresse IP valide...au pire celle du proxy...au mieux celle de l'hôte qui a initialisé la requête...
Une fois que tu as l'IP tu peux effectuer une résolution DNS pour retrouver le nom d'hôte ou simplement effectuer un WHOIS sur celle-ci avec ce site :
http://www.ripe.net/fcgi-bin/whoisJe ne sais pas dans quelle mesure un service abuse d'un proxy va investiguer dans ton cas...la majorité des proxies qui circulent sur Internet sont des ordinateurs piratés, mais peut être que tu auras de la chance