Comment identifier le fournisseur d'accès à internet avec PHP ?

Réponses rédigées par Antoine
Dernière mise à jour : 2018-08-27 16:57:23
Thèmes : php - script - webmaster
Question

Comment faire pour détecter et identifier le fournisseur d'accès à internet des visiteurs, sur un site Web, en PHP ?

Réponse

Pour identifier et détercet le fournisseur d'accès à Internet (FAI) de l'internaute qui visite votre site, vous pouvez utiliser REMOTE_ADDR en PHP.

Pour ce faire on détecte l'adresse IP du visiteur puis on utilise la fonction gethostbyaddr() qui retourne le nom d’hôte qui correspond à l'IP :

function getIP(){
	$ip = getenv('REMOTE_ADDR', true) ?: getenv('REMOTE_ADDR');
	return $ip;
}

function getFAI(){
	$ip = getIP();
	$host = gethostbyaddr($ip); 
	$fai = "inconnu";
	if(substr_count($host, 'proxad')) $fai = 'Free';
	if(substr_count($host, 'orange')) $fai = 'Orange';
	if(substr_count($host, 'wanadoo')) $fai = 'Orange';
	if(substr_count($host, 'sfr')) $fai = 'SFR';
	if(substr_count($host, 'club-internet')) $fai = 'SFR';
	if(substr_count($host, 'oleane')) $fai = 'Oléane';
	if(substr_count($host, 'nordnet')) $fai = 'Nordnet';
	if(substr_count($host, 'liberty')) $fai = 'LibertySurf';
	if(substr_count($host, 'colt')) $fai = 'Colt';
	if(substr_count($host, 'chello')) $fai = 'Chello';
	if(substr_count($host, 'belgacom')) $fai = 'Belgacom';
	if(substr_count($host, 'proximus')) $fai = 'Proximus';
	if(substr_count($host, 'skynet')) $fai = 'Skynet';
	if(substr_count($host, 'aol')) $fai = 'AOL';
	if(substr_count($host, 'neuf')) $fai = 'Neuf télécom';
	if(substr_count($host, 'gaoland')) $fai = 'Neuf télécom';
	if(substr_count($host, 'darty')) $fai = 'Darty Box';
	if(substr_count($host, 'bbox')) $fai = 'Bouygues télécom';
	if(substr_count($host, 'bouyg')) $fai = 'Bouygues télécom';
	if(substr_count($host, 'numericable')) $fai = 'Numericable';
	if(substr_count($host, 'tele2')) $fai = 'Tele2';
	return $fai;
}

echo "Votre FAI est ".getFAI();

Remarque : La liste des FAI n'est pas exhaustive, il vous faudra la compléter si nécessaire.

Remarque : Le script ne permettra pas de détecter le FAI des internautes qui utilisent certains PROXY ou des réseaux tel que Tor. Pour détecter Tor référez vous à cette question.