gethostbyname : à oublier, préférez dig

gethostbyname sert à récupérer l’adresse IP d’un nom de domaine.
L’intention est bonne, et la fonction suffit pour quelques interrogations.
Mais si vous avez besoin de récupérer l’IP de plusieurs milliers de noms de domaines, oubliez tout de suite, préférez dig !

function gethost_fast($host) {
// on lance dig, en demandant les champs A (ip) et on récupère la dernière valeur
$ip = rtrim("/usr/bin/dig $host A +short | /usr/bin/tail -1");
// en cas de probleme
if(
(function_exists('filter_var') && !filter_var($ip,FILTER_VALIDATE_IP)) // filter_var = PHP > 5.2.0
|| !preg_match('#\d+(?:\.\d+){3}#i',$ip)) {
$ip = @gethostbyname($host);
}
return $ip;
}

Comptez 1 seconde pour environ 200 ndds avec dig … contre 100-200 secondes pour gethostbyname…


Malaiac Attack *

RSS

Vous voulez en savoir plus, votre service web ou le site de votre entreprise a besoin de moi ? Vous pouvez me contacter ici


Laisser un commentaire

Propulsé par Wordpress – Thème Bleu Tripes