Fermer

février 18, 2020

Utilisez les données de géolocalisation d'ipdata pour protéger et personnaliser votre site –


Cet article a été créé en partenariat avec ipdata . Merci de soutenir les partenaires qui rendent SitePoint possible.

Les sites Web modernes sont de plus en plus efficaces pour personnaliser le contenu en fonction de l'emplacement de leurs visiteurs. Ils peuvent rediriger les utilisateurs vers une page dans leur propre langue, afficher les prix dans la devise locale, pré-remplir des formulaires Web avec des informations de localisation et afficher l'heure et la date actuelles pour le fuseau horaire correct.

ipdata est un API de latence qui fournit aux propriétaires de sites Web une grande variété d'informations sur leurs visiteurs en fonction de l'adresse IP (IPv4 et IPv6). Considérez-le comme une API de géolocalisation IP et de renseignement sur les menaces.

En utilisant l'adresse IP d'un visiteur, vous pouvez connaître son continent, son pays, sa région, sa ville, sa latitude et sa longitude, son organisation ou son FAI et son fuseau horaire. L'API détecte également les utilisateurs Proxy et Tor, ainsi que les spammeurs connus et les mauvais bots. Le blocage de ces risques protégera votre site Web et réduira le besoin de stratégies de sécurité comme CAPTCHA.

Voyons spécifiquement comment IPdata peut vous aider et comment les implémenter sur votre propre site Web.

Rediriger les visiteurs et localiser le contenu [19659007] Lorsque vous visitez le site Web ipdata vous verrez immédiatement de quoi le service est capable. Tout ce qui peut être appris à partir de votre propre adresse IP s'affiche.

 Exemple de retour de données ipdata

Ces données incluent:

  • Que vous soyez dans l'UE,
  • Votre ville,
  • État ou région (et code de région),
  • Pays (et code de pays),
  • Continent (et code de continent),
  • Latitude et longitude,
  • Code postal ou zip,
  • Indicatif d'appel de pays,
  • Emoji du drapeau de votre pays,
  • ASN et informations de l'opérateur de votre fournisseur de services,
  • Langues,
  • Devise (nom, code, symbole, pluriel),
  • Fuseau horaire (nom et abréviation, décalage, heure d'été, heure actuelle),
  • Informations sur les menaces (Tor, Proxy, anonyme, attaquant connu, abuseur connu, menace, bogon).

Vous pouvez appeler l'API ipdata à chaque demande de page pour géolocaliser votre visiteurs et localiser leur contenu. Voici quelques idées de ce que vous pouvez réaliser:

  • Limitez ou bloquez l'accès à votre contenu vers des pays ou des continents spécifiques,
  • Redirigez les utilisateurs vers des sites ou des pages spécifiques au pays (ou à la langue),
  • Pré -remplissez vos formulaires Web avec leurs données de localisation,
  • Affichez à vos visiteurs leur heure et leur météo locales,
  • Affichez les événements qui se trouvent à proximité de vos visiteurs ou les vols disponibles dans leur région,
  • Diffusez des annonces ciblées en fonction de l'emplacement, [19659011] Appliquez la conformité au RGPD,
  • Convertissez automatiquement les prix de votre boutique en ligne dans leur devise locale, en utilisant le symbole de devise correct,
  • Analysez plus précisément d'où vient votre trafic.

Vous pouvez obtenir un client Adresse IP utilisant JavaScript mais c'est un peu de travail. Utilisez plutôt l'API ipdata. Il est ultra-rapide et fiable sur tous les navigateurs. Voici le code:

     $. Get ("https://api.ipdata.co?api-key=test", fonction (réponse) {
        console.log (response.ip);
    }, "jsonp");

Une fois que vous disposez d'une adresse API de visiteur, la documentation d'ipdata vous montre comment obtenir leur emplacement dans 26 langues différentes. Vous trouverez également des didacticiels détaillés sur la façon de coder pour une variété de cas d'utilisation. Voici quelques exemples.

Pour bloquer (ou autoriser) les utilisateurs par pays recherchez les codes de pays ISO 3166 ALPHA-2 pour ceux que vous souhaitez mettre sur liste noire ou sur liste blanche . Suivez ensuite cet exemple de code pour savoir comment les mettre sur liste noire ou sur liste blanche.

     // Liste des pays que nous voulons bloquer
    // Pour voir cela en action, ajoutez votre code de pays au tableau
    var blacklist = ['US', 'CA', 'UK', 'IN']

    // Obtention du code pays à partir de l'IP de l'utilisateur
    $ .get ("https://api.ipdata.co?api-key=test", fonction (réponse) {

      // Vérification si le code pays de l'utilisateur est dans la liste noire
      // Vous pouvez inverser la logique ici pour utiliser une liste blanche à la place
      if (blacklist.includes (response.country_code)) {
        alert ('Ce contenu n'est pas disponible sur votre site.');
      } autre {
        alert ("Vous avez le droit de voir ça!")
      }
    }, "jsonp");

Rediriger les utilisateurs par pays est utile si vous avez des magasins en ligne spécifiques à un pays, ou si vous avez une page séparée avec du contenu dans leur langue ou avec des coordonnées spécifiques à un pays.

Voici un exemple comment rediriger vos visiteurs situés en Allemagne et en Australie. Ils seront redirigés de https://uk.store.ipdata.co vers https://de.store.ipdata.co et https://au.store.ipdata.co.

     // Obtention du code de pays à partir de l'IP de l'utilisateur
    $ .get ("https://api.ipdata.co?api-key=test", fonction (réponse) {
      if (response.country_code == 'UK') {
        window.location.href = "https://uk.store.ipdata.co";
        } else if (response.country_code == 'DE') {
        window.location.href = "https://de.store.ipdata.co";
        } else if (response.country_code == 'AU') {
        window.location.href = "https://au.store.ipdata.co";
        }
    }, "jsonp");

Vous pouvez également personnaliser le contenu de votre site en fonction de l'emplacement de l'utilisateur. Voici un exemple qui affiche une offre spéciale uniquement pour les visiteurs britanniques:

     // Obtention du nom du pays à partir de l'adresse IP de l'utilisateur
    $ .get ("https://api.ipdata.co?api-key=test", fonction (réponse) {
      if (response.country_code == 'UK') {
        alert ("Offre spéciale pour tous nos utilisateurs de" + response.country_name + "!");
        }
    }, "jsonp");

Au lieu de cibler un pays entier, vous pouvez explorer la région, la ville ou le code postal (code postal). Vous pouvez également cibler un fuseau horaire ou une devise spécifique.

Vous pouvez personnaliser davantage votre contenu en affichant l'heure locale de l'utilisateur (ajustée pour l'heure d'été) et le symbole de devise locale. Pour demander des données de fuseau horaire pour l'adresse IP "3.3.3.3":

     $ curl https://api.ipdata.co/3.3.3.3/time_zone?api-key=test

Vous recevrez cette réponse, qui comprend le nom et l'abréviation du fuseau horaire, son décalage UTC, qu'il s'agisse actuellement de l'heure d'été et l'heure locale:

     {
        "nom": "America / Los_Angeles",
        "abbr": "PDT",
        "offset": "-0700",
        "is_dst": vrai,
        "heure_courante": "2019-03-27T01: 13: 48.930025-07: 00"
    }

La détection des devises est similaire. Voici un exemple pour l'adresse IP "203.100.0.51":

     curl https://api.ipdata.co/203.100.0.51/currency?api-key=test

Et la réponse:

     {
        "nom": "dollar australien",
        "code": "AUD",
        "symbole": "AU $",
        "native": "$",
        "pluriel": "dollars australiens"
    }

Protégez votre site Web contre les menaces

Vous pouvez également utiliser ipdata pour identifier les menaces potentielles contre votre site Web. Ils maintiennent une base de données de plus de 600 millions d'adresses IP malveillantes, de proxys ouverts, de nœuds Tor, de spammeurs, de botnets et d'attaquants. Celles-ci sont agrégées uniquement à partir de sources fiables de haute qualité. Vous pouvez utiliser ces informations de différentes manières:

  • Protégez vos commentaires en bloquant les spammeurs connus et les mauvais bots, en allégeant le besoin de CAPTCHA,
  • Détectez les fraudes en déterminant si leur carte de crédit provient d'un pays différent de celui où ils sont localisés,
  • Bloquer le trafic anonyme pour éliminer les risques provenant de ces réseaux,
  • Bloquer les pays à haut risque, tels que les pays d'où proviennent la plupart de vos logiciels malveillants et attaques,
  • Empêcher les «abus d'essai gratuit» en détectant les utilisateurs Proxy et Tor.

Voici comment accéder aux données de menace pour l'adresse IP "103.76.180.54":

     curl https://api.ipdata.co/103.76.180.54/threat?api-key = test

La demande génère la réponse suivante:

     {
        "is_tor": vrai,
        "is_proxy": false,
        "is_anonymous": vrai,
        "is_known_attacker": false,
        "is_known_abuser": false,
        "is_threat": false,
        "is_bogon": faux
    }

Le visiteur utilise un réseau Tor. is_anonymous est vrai si le visiteur est un utilisateur Tor ou Proxy. Vous pouvez utiliser ipdata pour empêcher les utilisateurs anonymes de créer un compte . Voici un exemple de code de la documentation officielle:

     // Obtention du statut d'anonymat à partir de l'IP de l'utilisateur
    $ .get ("https://api.ipdata.co?api-key=test", fonction (réponse) {
      if (response.threat.is_anonymous) {
        alert ("Vous n'êtes pas autorisé à créer un compte.");
        }
    }, "jsonp");

Vous pouvez être plus précis, par exemple, en bloquant les utilisateurs Proxy mais en laissant passer les utilisateurs Tor:

     // Obtention du statut d'anonymat à partir de l'IP de l'utilisateur
    $ .get ("https://api.ipdata.co?api-key=test", fonction (réponse) {
      if (response.threat.is_proxy) {
        alert ("Vous n'êtes pas autorisé à créer un compte.");
        }
    }, "jsonp");

Certains utilisateurs sont des récidivistes, ayant été signalés à plusieurs reprises par des administrateurs d'autres sites Web pour spam ou activité malveillante. Vous pouvez les empêcher de créer un compte en les bloquant si l'un de ces champs est vrai:

  • is_known_abuser : adresses IP signalées comme sources de spam,
  • is_known_attacker : IP qui auraient été la source d'activités malveillantes.

Pourquoi choisir ipdata?

ipdata se compare très favorablement à autres API de géolocalisation IP . Il est écrit en Python 3 avec un temps d'exécution moyen de 2,9 ms. Il est suffisamment rapide et fiable pour satisfaire une longue liste de clients, notamment Comcast, Redhat, Cooperpress, Sphero, AMD et NASA.

ipdata est hautement évolutif, avec une faible latence à l'échelle mondiale. L'API traite des millions de demandes chaque jour à une vitesse moyenne de seulement ~ 65 ms et s'exécute dans onze centres de données à travers le monde:

  • 4 aux États-Unis,
  • 1 au Canada,
  • 2 en Europe (Londres et Francfort),
  • 1 en Inde (Mumbai),
  • 1 en Amérique du Sud (Sao Paulo),
  • 1 en Europe (Seol) et
  • 1 en Australie (Sydney).

Selon Jonathan Kosgei le fondateur d'ipdata, le temps d'exécution est maintenu bas en n'effectuant aucune lecture ou écriture de base de données dans le code d'application. "Une fonction d'autorisation distincte gère l'obtention des données d'utilisation de DynamoDB et l'autorisation des utilisateurs selon qu'ils respectent ou non leur quota. Et ses résultats sont mis en cache. "

Commencez à géolocaliser vos visiteurs avec ipdata

À présent, je suis sûr que vous avez pensé à une douzaine de façons d'utiliser ipdata pour améliorer et protéger votre site Web ou celles de vos clients. Inscrivez-vous gratuitement et commencez à le tester!

Vous pouvez en savoir plus sur l'infrastructure d'ipdata dans ces articles:




Source link