facebook

Comment limiter l'accès de votre site web aux utilisateurs d'un pays.

Nous avons récemment travaillé sur une plateforme dédiée aux entreprises canadiennes. Nous avons particulièrement remarqué que plusieurs utilisateurs se faisaient passer pour des entreprises canadiennes pour créer un compte. Pour remédier au problème, nous avons opté pour la restriction de la création de compte uniquement aux utilisateurs du Canada. Dans cet article, nous regardons comment à l’aide de PHP, vous pouvez limiter votre site web aux utilisateurs d’un pays. Nous verrons également dans quelle mesure notre approche peut vous aider. 

Utiliser la fonction ci-dessous pour convertir l’IP en pays


<?php 
function trouver_IP() {
	
	if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
		return $_SERVER['HTTP_CLIENT_IP'];
	}
	else if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
		return $_SERVER['HTTP_X_FORWARDED_FOR'];
	}
	else {
		return $_SERVER['REMOTE_ADDR'];
	}
}

function convertir_ip_en_pays() {
$vis_ip = trouver_IP();
    $ch = curl_init('http://ipwhois.app/json/' . $vis_ip);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$json = curl_exec($ch);
curl_close($ch);
$ipWhoIsResponse = json_decode($json, true);
$country = $ipWhoIsResponse['country'];
return  $country;
}
?>

Commentaire du code

Nous avons tout simplement développé une fonction PHP qui se sert de la plateforme ipwhois.app pour récupérer les informations relatives à une adresse IP.  Ensuite, nous avons utilisé CURL et la fonction Json_decode pour convertir l’information en tableau.  Vous pouvez suivre les mises à jour de cette fonction via notre compte GIT

Comment utiliser cette fonction ?

Vous pouvez utiliser cette fonction sur votre site web en détectant en temps réel l’IP de vos utilisateurs et obtenir leur pays. Par la suite, vous pourriez mieux contrôler qui a accès à certaines fonctionnalités de votre site web.  

Quelques limitations de cette fonction

Il existe plusieurs limitations à cette approche : 

  1. Utilisation du VPN. Des pirates informatiques utilisent parfois des VPN pour accéder aux sites web. Ce qui ne facilite pas la détection de leur vrai adresse IP 
  2. Une limitation sur le nombre de requêtes. La plateforme ipwhois a une limite en termes de nombre de requêtes par jour ; par conséquent, si vous avez un nombre de visiteurs très élevé, vous pourriez n’avoir de vrais résultats. 
  3. Convertir une adresse IP en pays ne vous met pas à l’abri des cyberattaques. Même si vous vous finissez pas détecter le pays de votre utilisateur, cela ne signifie pas que l’utilisateur est fiable. Effectivement, il est possible qu’un cybercriminel se trouve dans votre zone géographique et parviens à accéder à votre plateforme avec votre filtre. 

Quelques réflexions sur le moyen de réduire les limitations.

En dehors des trois limitations ci-dessus, il existe évidemment plusieurs autres limitations sur lesquelles nous ne nous sommes pas attardées. Nous allons vous présenter quelques approches pour compenser les limitations. 

Votre utilisateur utilise un VPN que faire ?

Lorsqu’un utilisateur utilise un VPN, son adresse IP est celui du VPN ; par conséquent, il est compliqué de détecter son IP. Vous pouvez cependant utiliser d’autre mesure barrière pour vous rassurer d’avoir une bonne protection sur votre plateforme. Un exemple peut être l’utilisation d’une authentification à deux niveaux. Les entreprises combinent de plus en plus l’utilisateur d’un mot de passe avec la vérification via un numéro de téléphone. Dans ce cas, elles envoient un SMS aux utilisateurs via leur numéro de téléphone pour valider qu’ils sont réellement dans une zone géographique donnée. 

Cette approche peut être une approche supplémentaire pour limiter les abus ou les pertes en temps. 

Comment limiter l'accès de votre site web aux utilisateurs d'un pays

La plateforme a un nombre de requêtes limité et n’est pas efficace pour restreindre votre site web aux utilisateurs d’un pays

La plateforme ipwhois.app est un exemple parmi tant d’autres. Elle offre une option payante si la version gratuite est assez limitée pour votre besoin. Ainsi, pour être rassuré de ne pas avoir à atteindre votre limite, vous pouvez souscrire à la version payante. 

Si les options présentées par ce site ne vous semblent pas satisfaisantes, vous pouvez plusieurs autres options en ligne offrant plus ou moins le même service. 

Une petite astuce pour ne pas épuiser le nombre de requêtes journalier.

Au cas où vous utiliseriez la version gratuite, une approche pour éviter d’épuiser le nombre de requêtes tout en limitant votre site web aux utilisateurs d’un pays serait de mieux planifier l’utilisation. Vous pouvez, l’utiliser notamment uniquement sur la page de connexion. Alternativement, après création de compte, vous pouvez l’utiliser pour automatiquement détecter le lien de création de compte et supprimer le compte. 

Convertir une adresse IP en pays ne vous met pas à l’abri des cyberattaques.

Ne perdez jamais de vue qu’avoir le pays de vos utilisateurs n’est pas synonyme de sécurité. Cependant, c’est un pas de plus pour protéger votre solution. En plus de la détection du pays ou de la zone géographique, vous pouvez envisager d’autres mesures de protection. 

  • Utilisation d’un Captcha — Les captchas vont automatiquement détecter si les utilisateurs sont physiquement présents sur votre site web. Nous vous proposons de lire notre article à ce sujet
  • Filtration des informations avant l’envoie dans la base de données ou courriel — On ne peut être sûr à 100 % du type d’information qu’un utilisateur saisi sur notre site web. Par conséquent, prendre le temps de se rassurer que les données sont filtrées avant de leur soumettre soit dans votre base de données ou vos courriels peut limiter les problèmes. 
  • Envisager une validation de courriel ou l’authentification à deux niveaux. 

Conclusion et réflexion finale en rapport à la limitation du site web aux utilisateurs d’un pays

Un ensemble de stratégies peuvent être développés en amont du concept de la détection du pays des utilisateurs. Il est vrai que cela peut présenter des limitations ; mais peut également aider dans certaines circonstances. 

Merci d’avoir pris le temps de lire notre article. Si vous avez des commentaires, ce serait un plaisir de vous lire en bas de cet article. Vous pouvez également nous contacter en utilisant le formulaire de contact



Abonnez-vous pour recevoir nos nouvelles directement dans votre boîte de réception.

X