Visser Labs – Plugins WooCommerce

Bloquer une adresse IP dans WooCommerce avec Checkout Guard

Bloquer une adresse IP dans WooCommerce avec Checkout Guard

Checkout Guard vous permet maintenant de bloquer une adresse IP dans WooCommerce. Ajoutez une IP à une entrée bloquée et la commande s'arrête au moment du paiement, même lorsque l'acheteur change son nom et son e-mail. Cela ferme la manière la plus simple de contourner une liste de blocage.

La fonctionnalité arrive dans Checkout Guard 1.0.2. Il n'y a pas de nouvelle page de paramètres et pas de liste séparée à maintenir. L'IP se trouve sur la même entrée bloquée que vous utilisez déjà pour les noms et les e-mails, comme un champ supplémentaire que vous pouvez remplir.

Table des matières

Pourquoi une liste de blocage de noms et d'e-mails n'était pas suffisante

Le blocage par nom et par e-mail fonctionne jusqu'à ce que quelqu'un remarque qu'il est bloqué.

Une personne qui veut repasser votre processus de paiement a deux options très peu coûteuses. Elle peut taper un nom différent. Elle peut s'inscrire pour une boîte mail gratuite et utiliser une adresse différente. Aucune des deux ne prend plus d'une minute, et les deux déjouent une liste de blocage qui ne sait que qui elle prétendait être.

C'est là le problème. Jusqu'à cette version, Checkout Guard comparait le prénom de facturation, le nom de famille de facturation et l'e-mail de facturation, et rien d'autre. Une personne passant des commandes indésirables depuis le même ordinateur portable sur la même connexion ressemblait à un tout nouveau client à chaque fois qu'elle modifiait ces trois champs.

L'adresse IP est une chose plus difficile à changer. Ce n'est pas parfait, et aucun signal unique ne l'est, mais elle décrit la connexion plutôt que l'histoire tapée dans le formulaire. Pour les abus répétés d'une personne ou d'une machine, c'est généralement l'identifiant le plus stable dont vous disposez. C'est pourquoi pouvoir bloquer une adresse IP dans WooCommerce est important.

Comment bloquer une adresse IP dans WooCommerce

Une entrée dans votre liste de blocage peut maintenant contenir une adresse IP à côté des champs nom et e-mail. Rien n'a changé concernant les champs existants.

La règle de correspondance est un OU entre les types de champs. Une entrée bloquée arrête une commande lorsqu'un champ renseigné correspondant au client est trouvé : les deux noms correspondent, ou l'e-mail correspond, ou l'IP correspond. Les champs que vous laissez vides sont ignorés, donc une règle ne contenant qu'une IP est parfaitement valide et bloque uniquement sur la connexion.

Ce dernier point mérite d'être examiné, car il modifie la façon dont vous pouvez utiliser la liste. Avant cette version, chaque entrée nécessitait un nom ou un e-mail. Désormais, vous pouvez ajouter une IP sans nom ni e-mail associé. C'est ce que vous voulez lorsque vous savez que la connexion pose problème mais que l'identité qui y est associée change constamment.

Une adresse IP client vide ne correspond jamais à quoi que ce soit. Si Checkout Guard ne parvient pas à résoudre une adresse pour un acheteur, vos règles IP ne s'appliquent tout simplement pas à cette commande. Vos règles de nom et d'e-mail continuent comme d'habitude.

Où Checkout Guard obtient l'adresse IP du client

Lire l'adresse IP du visiteur semble simple et ne l'est pas, car la plupart des boutiques se trouvent derrière quelque chose.

Un CDN, un proxy inverse ou un équilibreur de charge se situent tous entre l'acheteur et WordPress. Lisez l'adresse de connexion naïvement et vous obtiendrez l'adresse de cette couche intermédiaire, qui est la même pour chaque client. Bloquez-la et vous bloquez l'intégralité de votre boutique.

Checkout Guard évite cela en interrogeant WooCommerce plutôt qu'en lisant directement la connexion. Le plugin résout l'adresse de l'acheteur via l'outil de géolocalisation de WooCommerce, qui comprend déjà les en-têtes transférés courants que les proxys et les CDN définissent. Si votre boutique fonctionne derrière Cloudflare, l'adresse comparée par Checkout Guard est celle de l'acheteur, pas celle de Cloudflare.

L'adresse est résolue une seule fois, dans la méthode unique qui décide de bloquer ou non un client. Vos deux processus de paiement passent par cette méthode, donc le paiement classique par shortcode et le paiement par bloc s'exécutant sur l'API Store correspondent exactement à la même valeur. Il n'y a aucun cas où le blocage IP fonctionne dans un processus de paiement et n'a discrètement aucun effet dans l'autre.

Ajouter votre première règle IP

Pour bloquer une adresse IP dans WooCommerce, ouvrez la boîte de dialogue que vous utilisez déjà. Elle comporte un champ supplémentaire.

  1. Allez dans WooCommerce → Checkout Guard et ouvrez l'onglet Entrées bloquées.
  2. Ajoutez une entrée, ou modifiez-en une existante.
  3. Tapez l'adresse dans le champ Adresse IP. La boîte de dialogue vérifie la valeur et refuse d'enregistrer une valeur malformée.
  4. Laissez les champs nom et e-mail vides si la connexion est la seule chose que vous souhaitez bloquer.
  5. Enregistrez l'entrée.
Bloquer une adresse IP dans WooCommerce : boîte de dialogue Ajouter une entrée bloquée de Checkout Guard montrant le champ Adresse IP, ses formats acceptés et le rappel de confidentialité concernant les adresses IP étant des données personnelles
Le champ Adresse IP se trouve dans la boîte de dialogue que vous utilisez déjà, avec le rappel de confidentialité en dessous.

Le tableau Entrées bloquées affiche désormais une colonne Adresse IP. Vous pouvez voir d'un coup d'œil quelles règles bloquent sur la connexion et lesquelles bloquent sur l'identité.

Table des entrées bloquées par Checkout Guard montrant la colonne Adresse IP avec une règle qui bloque sur l'adresse IP seule, les cellules nom et e-mail étant vides
Une règle basée uniquement sur l'IP. Le nom et l'e-mail sont vides, et la règle bloque toujours.

L'application ne nécessite aucune configuration. Une fois l'entrée enregistrée, un acheteur correspondant voit le message défini dans votre paramètre Message de refus de paiement, le panier est vidé et aucun paiement n'est tenté.

Ce que nous avons constaté : les règles IP vieillissent différemment des règles d'e-mail. Une adresse e-mail appartient généralement à la même personne pendant des années, mais les adresses mobiles et résidentielles sont réattribuées. Ainsi, une adresse qui valait la peine d'être bloquée l'année dernière peut appartenir à un client tout à fait ordinaire aujourd'hui. Revoyez vos règles IP de temps en temps, et privilégiez une règle d'e-mail ou de nom chaque fois que vous en avez une fiable.

Ce que Checkout Guard accepte comme adresse IP

Une seule adresse IPv4 ou IPv6 est ce pour quoi le champ est conçu, et les deux sont acceptées.

Les valeurs sont vérifiées avec le propre validateur d'adresses de PHP, documenté par le manuel PHP comme filter_var avec le filtre FILTER_VALIDATE_IP, puis stockées sous une forme normalisée. Un champ laissé vide est acceptable. Un champ contenant quelque chose qui n'est pas une adresse valide est rejeté immédiatement plutôt que d'être enregistré et ignoré silencieusement. De cette façon, une faute de frappe apparaît lorsque vous enregistrez la règle, et non le jour où elle ne parvient pas à bloquer quelqu'un.

Boîte de dialogue d'ajout d'entrée Checkout Guard rejetant la valeur 999.999.999.999 avec l'erreur veuillez entrer une adresse IP valide IPv4 ou IPv6 ou un modèle générique
La boîte de dialogue rejette 999.999.999.999 avant que l'entrée ne puisse être enregistrée.

Les modèles de segments IPv4 génériques tels que 192.168.1.* fonctionnent également, ce qui est arrivé avec la même version 1.0.2 et permet à une seule règle de couvrir une plage entière.

Deux choses sont délibérément hors de portée pour cette version. La notation CIDR, le style /24 pour écrire une plage, n'est pas prise en charge. Le blocage par pays ou par région ne fait pas non plus partie de cela, car Checkout Guard correspond aux adresses plutôt qu'à la recherche de leur emplacement.

Les adresses IP sont des données personnelles, traitez-les donc comme telles

Stocker une adresse est une décision de confidentialité, pas seulement une décision technique.

Selon le RGPD, une adresse IP est un identifiant en ligne. Le considérant 30 mentionne directement les « adresses de protocole Internet » dans une liste d'identifiants qui peuvent être combinés à d'autres informations pour identifier une personne. La mettre dans votre liste de blocage signifie que vous détenez des données personnelles sur quelqu'un.

C'est tout à fait autorisé, et le blocage des abus est une raison normale pour le faire. Cela signifie que les adresses de votre liste de blocage appartiennent à la même conversation que le reste des données personnelles que votre boutique détient. Couvrez-les dans votre politique de confidentialité, conservez-les pendant une durée raisonnable, et supprimez-les lorsque la raison de leur conservation a disparu.

Checkout Guard affiche un bref rappel de confidentialité à côté du champ IP pour cette raison exacte. Le plugin ne décide pas de votre politique de rétention pour vous, et il ne devrait pas le faire, mais il place l'invite là où la décision est réellement prise.

Gérer les règles IP depuis un autre système

Vous pouvez également bloquer une adresse IP dans WooCommerce via l'API REST de Checkout Guard, ce qui est important si votre liste de blocage est alimentée par autre chose qu'une personne.

Le champ ip_address est accepté et renvoyé sur les points de terminaison qui créent, mettent à jour et créent en masse des entrées, et sur le point de terminaison qui les liste. Vous pouvez filtrer la liste par IP pour trouver une règle spécifique. L'API transporte également un champ notes de jusqu'à 140 caractères, qui est l'endroit où la colonne Notes dans le tableau des entrées bloquées tire son contenu.

Les créations répétées se comportent de manière sensée. Une entrée ne contenant qu'une adresse IP est identifiée par cette adresse IP, de sorte que l'envoi de la même adresse deux fois met à jour la règle sur place au lieu de vous laisser avec des doublons. Une adresse mal formée est rejetée avec un 400 lors d'une création ou d'une mise à jour unique. Lors d'un traitement par lots, elle est ignorée et comptée dans la réponse plutôt que de faire échouer la requête entière.

Il existe également un point de terminaison qui répond à la question de savoir si un client donné serait bloqué, et il accepte une adresse IP comme tout autre champ. Il exécute le même code de correspondance que le paiement en direct, de sorte que la réponse qu'il vous donne ne peut pas s'écarter de ce qui arrive réellement à un vrai acheteur.

Conclusion

La possibilité de bloquer une adresse IP dans WooCommerce comble la lacune qui rendait une liste de blocage par nom et par e-mail facile à contourner. Un champ, sur l'entrée que vous utilisez déjà, et la règle décrit maintenant la connexion au lieu de ce que l'acheteur a tapé dans le formulaire.

Si vous débutez avec Checkout Guard, notre introduction au plugin couvre les bases de la création d'une liste de blocage. Notre guide sur le blocage par nom ou par e-mail couvre les champs sur lesquels cette version s'appuie. Pour le problème plus large, notre guide pour arrêter les commandes de spam dans WooCommerce replace le blocage dans son contexte aux côtés des autres choses qui valent la peine d'être faites.

Vous pouvez bloquer une adresse IP dans WooCommerce dès aujourd'hui avec Checkout Guard 1.0.2.

Questions fréquemment posées

Puis-je bloquer une adresse IP dans WooCommerce ?

Oui. Vous pouvez bloquer une adresse IP dans WooCommerce avec Checkout Guard 1.0.2, qui ajoute un champ Adresse IP à chaque entrée bloquée. Une règle peut alors arrêter une commande en fonction de la connexion de l'acheteur plutôt que de son nom de facturation ou de son e-mail. Une entrée ne contenant qu'une adresse IP est valide.

Le blocage d'IP fonctionne-t-il derrière Cloudflare ou un proxy ?

Oui. Checkout Guard résout l'adresse de l'acheteur via l'outil de géolocalisation de WooCommerce, qui lit les en-têtes courants transmis qu'un CDN ou un proxy inverse configure. L'adresse comparée est celle de l'acheteur, pas celle de votre proxy.

Cela fonctionne-t-il aussi bien sur le paiement bloqué que sur l'ancien ?

Oui. Les deux paiements passent par la même méthode qui résout l'adresse IP et décide de bloquer ou non. Une règle se comporte donc de manière identique sur le paiement classique avec shortcode et sur le paiement bloqué utilisant l'API Store.

Puis-je bloquer une plage d'adresses IP ?

Vous pouvez utiliser un modèle de segment IPv4 avec caractères génériques tel que 192.168.1.* pour couvrir une plage. La notation CIDR telle que /24 n'est pas prise en charge dans cette version, pas plus que le blocage par pays ou par région.

Que se passe-t-il si j'entre une adresse IP invalide ?

La règle est rejetée plutôt que sauvegardée. La boîte de dialogue d'administration refuse de la sauvegarder, et l'API REST renvoie un 400 pour une adresse mal formée lors d'une création ou d'une mise à jour unique. Lors d'une création par lots, l'élément incorrect est ignoré et compté dans la réponse.

Mes règles existantes de nom et d'e-mail fonctionnent-elles toujours ?

Oui. Rien n'a changé concernant les champs existants. Une entrée bloque une commande lorsqu'un champ rempli correspond, donc l'ajout du support IP ne modifie pas le comportement de vos règles actuelles de nom et d'e-mail.

avatar de l'auteur
Gracielle Hernandez Responsable Marketing

Articles populaires

Partager l'article

Ajouter un commentaire

Nous sommes ravis que vous ayez choisi de laisser un commentaire. N'oubliez pas que tous les commentaires sont modérés conformément à notre politique de confidentialité, et tous les liens sont nofollow. N'utilisez PAS de mots-clés dans le champ du nom. Ayons une conversation personnelle et significative.

Ressources et aide