VÉRIFIER LA SYNTAXE D'UNE ADRESSE IP AVEC SÉCURITÉ ANTI FAILLE XSS ET INJECTION
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 2012
-
10 juin 2007 à 06:10
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 2012
-
10 juin 2007 à 22:44
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 10 juin 2007 à 22:44
c'est domage d'utiliser une regexp pour ca...
DiGhan
Messages postés239Date d'inscriptionsamedi 21 février 2004StatutMembreDernière intervention 3 juin 20101 10 juin 2007 à 22:31
Ou une solution regex :
function CheckIP($string) {
$iRes = 0;
$pattern = '#^([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$#';
if ( preg_match($pattern,$$string,$matches) === 1 ) {
for ($i=1; $i<=4; $i++)
if ($matches[$i] >=0 && $matches[$i] <= 255) $iRes++;
} return ($iRes == 4)?true:false;
}
kankrelune
Messages postés1293Date d'inscriptionmardi 9 novembre 2004StatutMembreDernière intervention21 mai 2015 10 juin 2007 à 17:12
Pourquoi htmlentities(), htmlspecialchars() et mysql_real_escape_string() ? ça sert à rien... c'est une fonction de vérification... et quand bien même cela serait justifié pourquoi
htmlspecialchars(htmlentities(...));
l'un ou l'autre ne suffit pas... .. ?
function checkip($ip)
{
$ip = explode('.',trim($ip));
dvdstory
Messages postés192Date d'inscriptiondimanche 23 janvier 2005StatutMembreDernière intervention10 août 2009 10 juin 2007 à 15:27
Effectivement je peux être plus précis, je viens de remplcer 999 par 255.
vilhjalms
Messages postés591Date d'inscriptionmercredi 20 juillet 2005StatutMembreDernière intervention16 juillet 20092 10 juin 2007 à 10:01
Du même avis que coucou747 sans parler que votre code renvera TRUE pour une address ip du type : $ip='999.999.999.999'; ce qui est impossible lol :) Revoir les bases sur les address ip :)
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 10 juin 2007 à 06:10
#
# // ou sans la sécurité SQL injection
tu te proteges de ca dans ce genre de fonction... qui n'a pas besoin de ce genre de securite ???
10 juin 2007 à 22:44
10 juin 2007 à 22:31
function CheckIP($string) {
$iRes = 0;
$pattern = '#^([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$#';
if ( preg_match($pattern,$$string,$matches) === 1 ) {
for ($i=1; $i<=4; $i++)
if ($matches[$i] >=0 && $matches[$i] <= 255) $iRes++;
} return ($iRes == 4)?true:false;
}
10 juin 2007 à 17:12
htmlspecialchars(htmlentities(...));
l'un ou l'autre ne suffit pas... .. ?
function checkip($ip)
{
$ip = explode('.',trim($ip));
if(count($ip) !== 4)
return false;
$i = -1;
while(isset($ip[++$i]))
{
if(ctype_digit($ip[$i]) === false)
return false;
elseif(($ip[$i] = (int)$ip[$i]) < 0 || $ip[$i] > 255)
return false;
}
return true;
}
@ tchaOo°
10 juin 2007 à 15:27
10 juin 2007 à 10:01
10 juin 2007 à 06:10
# // ou sans la sécurité SQL injection
tu te proteges de ca dans ce genre de fonction... qui n'a pas besoin de ce genre de securite ???
if (long2ip(ip2long($a))===$a