Surveillez l'utilisation de votre clé avant d'atteindre une limite
Surveiller vos en-têtes de quota au fil de l'eau vous indique quand une limite approche, bien avant qu'une requête ne soit effectivement refusée.
La plupart des vrais visiteurs se connectent depuis des réseaux résidentiels ou mobiles. La plupart du trafic automatisé provient de centres de données et d'hébergeurs cloud. Cette différence apparaît clairement dans les champs asn et org d'une recherche d'IP.
GET /v1/ip?ip=203.0.113.99{
"status": "ok",
"ip": "203.0.113.99",
"version": 4,
"found": true,
"country": "United States",
"country_code": "US",
"region": "Virginia",
"city": "Ashburn",
"postcode": "20147",
"lat": 39.0438,
"lon": -77.4874,
"timezone": "America/New_York",
"asn": 16509,
"org": "Example Cloud Hosting"
}Tenez une courte liste de motifs de noms d'organisation ou de numéros d'ASN précis que vous associez à l'hébergement cloud et aux plateformes d'automatisation connues, en vous fondant sur l'historique de votre propre trafic, et signalez le trafic issu de ces réseaux pour un examen plus poussé, par exemple un CAPTCHA ou un score de confiance plus faible, plutôt que de le bloquer purement et simplement. Il existe des usages légitimes des plages d'IP cloud, notamment les VPN d'entreprise et l'infrastructure des opérateurs mobiles : ce signal fonctionne donc mieux combiné à des signaux comportementaux qu'utilisé seul.
Combiner la vérification de l'ASN avec le champ country_code permet de détecter un autre schéma. Un compte qui affirme être basé dans un pays mais se connecte systématiquement depuis une adresse de centre de données enregistrée dans un autre constitue un signal plus fort que chacun de ces faits pris isolément. Aucun des deux champs ne prouve quoi que ce soit à lui seul, puisque de vrais clients voyagent et utilisent des VPN pour des raisons parfaitement ordinaires, mais la combinaison mérite un poids plus élevé dans un système de score que chacune des vérifications effectuée séparément.
Effectuez la vérification de l'ASN au moment où le trafic atteint votre application pour la première fois, par exemple sur un formulaire d'inscription ou lors d'une tentative de connexion, plutôt qu'après coup, afin que le signal puisse réellement influencer la suite. Mettez le résultat en cache pour la durée d'une session, puisque l'ASN d'une adresse ne change pas en cours de session.
Un visiteur évalué une première fois lors de son inscription et qui revient plus tard depuis la même adresse réseau n'a pas besoin d'une nouvelle recherche à chaque fois, puisque les champs asn et org d'une adresse donnée restent stables d'une session à l'autre. Mettez la classification en cache par adresse, et pas seulement par session, afin qu'une adresse résidentielle reconnue comme sûre ne soit pas non plus réévaluée à chaque visite future.
Bloquer purement et simplement chaque requête provenant d'un ASN d'hébergement ou de cloud reconnu, au lieu de lui attribuer un score, exclut une part réelle de trafic légitime en même temps que le trafic automatisé que vous vouliez vraiment arrêter. Les sorties de VPN d'entreprise, certains opérateurs mobiles et les navigateurs axés sur la confidentialité passent tous par une infrastructure qui peut apparaître de la même manière qu'un hébergeur. Utilisez les champs ASN et org comme une donnée parmi d'autres dans une décision de score ou de vérification, et non comme une règle de blocage automatique à eux seuls.
Une recherche par nouvelle session, mise en cache ensuite, représente une requête par visiteur plutôt qu'une par requête qu'il effectue. Sur un site qui traite un volume significatif d'inscriptions ou de connexions, cela reste dans les 2 500 requêtes gratuites par jour incluses avec chaque clé pour un trafic modéré, puis passe au crédit prépayé ou à une clé Unlimited une fois ce volume dépassé.
L'origine réseau est un signal parmi d'autres, pas un verdict à elle seule, mais c'est un signal peu coûteux à ajouter à un parcours d'inscription ou de connexion. La documentation de la recherche IPv4 et la documentation de la recherche IPv6 décrivent chaque champ renvoyé par l'endpoint.