2009-12-17 5 views

Répondre

0

Joomla a utilisé ci-dessous fonction pour obtenir des adresses IP, il est très polyvalent bon fonctionnement, qui permet d'éviter les tricheurs possibles, vous pouvez l'utiliser:

function get_ip() 
{ 
    $ip = false; 

    if (!empty($_SERVER['HTTP_CLIENT_IP'])) 
    { 
     $ip = $_SERVER['HTTP_CLIENT_IP']; 
    } 

    if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) 
    { 
     $ips = explode (', ', $_SERVER['HTTP_X_FORWARDED_FOR']); 

     if ($ip != false) 
     { 
       array_unshift($ips,$ip); 
       $ip = false; 
     } 

     $count = count($ips); 

     # exclude IP addresses reserved for LANs 
     for ($i = 0; $i < $count; $i++) 
     { 
       if (!preg_match("/^(10|172\.16|192\.168)\./i", $ips[$i])) 
       { 
        $ip = $ips[$i]; 
        break; 
       } 
     } 
    } 

    if (false == $ip AND isset($_SERVER['REMOTE_ADDR'])) 
    { 
     $ip = $_SERVER['REMOTE_ADDR']; 
    } 

    return $ip; 
} 
+0

@Sarfraz, merci. Je vais essayer. Pas très sûr de ce que l'expression régulière filtre cependant. – cheapskate

+0

Ce code est encore plus facile à éliminer que l'utilisation d'un proxy: Il suffit de définir l'en-tête de votre demande sortante sur une adresse IP autorisée. Aucun proxy requis. Ceci est bien connu, par exemple pour regarder Comedy Central en dehors des Etats-Unis. – McPherrinM

+0

Vous avez peut-être raison, mais nous n'avons vu aucun problème avec joomla en utilisant cette fonction. Si vous en avez vu un, s'il vous plaît laissez-nous savoir. merci – Sarfraz

1

C'est en soi un problème donné l'anonymat de l'Internet , mais usurpant des adresses IP pour obtenir du contenu qui n'est pas légalement disponible dans votre pays est techniquement un crime dans la plupart des endroits de toute façon. C'est à vous de faire tous les efforts raisonnables pour vous assurer que votre site respecte les restrictions de distribution sur les médias et les informations, mais il y a des choses qui ne sont pas pratiques. Le plus proche que vous pourriez obtenir est de faire une vérification d'adresse physique réelle comme une adresse de facturation sur une carte de crédit ou physiquement envoyer un numéro d'identification à quelqu'un, mais ces deux options engager des dépenses au nom de l'utilisateur ou vous-même.

Questions connexes