Comment puis-je bloquer une personne abusive qui essaie sans cesse d’enregistrer plus de comptes?


41

J'ai un site gratuit avec inscription ouverte; n'importe qui peut s'inscrire et je ne peux pas changer cela. Cependant, les comptes doivent être approuvés par un administrateur après avoir rempli un profil. J'ai donc accès à diverses informations pour identifier les utilisateurs en double (date de naissance, commentaire d'introduction personnelle, adresse électronique, photos, emplacement signalé dans le profil, adresse IP géolocalisée). , Adresse IP, etc.)

Récemment, le site a été soumis aux attaques d’un seul utilisateur extrêmement abusif et qui semble disposer d’un temps illimité pour enregistrer plusieurs comptes. Ces comptes peuvent être bloqués relativement facilement, mais cela représente beaucoup de travail pour l'administrateur (moi) et j'ai bien peur d'en manquer un parmi les comptes légitimes (cet utilisateur enregistre environ 6 comptes par jour).

J'ai déjà:

  • banni les adresses IP connues de l'utilisateur
  • enregistrement bloqué à partir de domaines connus utilisés pour les adresses électroniques "jetables"
  • ajout d'une vue spéciale pour m'aider à identifier les comptes en fonction de modèles d'accès connus de l'utilisateur

Est-ce que je peux faire quelque chose avec les cookies, etc. pour rendre l'enregistrement de cet utilisateur encore plus difficile?

Ceci est un site Drupal 7.

EDIT: Dans mon cas, c'est un utilisateur humain, pas un bot. Mais les réponses bot sont utiles pour ceux qui sont spécifiquement ciblés par les spammeurs.


La seule chose à laquelle je puisse penser, ce sont ces captchas agaçants qui sont vraiment difficiles à lire, car certaines des lettres / chiffres que vous pensez peuvent être deux choses, et vous devez essayer 5 fois de le deviner correctement. Du côté négatif, vous allez ennuyer tout le monde, lol.
No Sssweat


7
En fait, les deux premières solutions que vous avez utilisées sont de très mauvaises idées. Les adresses IP sont très insuffisantes pour identifier de manière unique même un réseau entier, que ce soit un ordinateur spécifique ou un utilisateur spécifique! Il n'est pas rare du tout qu'un utilisateur partage un appareil avec de nombreux autres utilisateurs, qui sont sur un réseau avec de nombreux autres appareils partageant tous une même adresse IP, régulièrement réaffectée par le fournisseur de services, à différents clients. Interdire des ensembles complets de noms de domaine de messagerie est encore pire. Vous courez un risque réel de bloquer un utilisateur légitime.
JBentley

3
Lorsque je teste les conseils en réponse, je suggère de ne jamais rendre la vie de vos bons utilisateurs moins agréable, afin de punir les mauvais utilisateurs. Si vous faites cela, les mauvais utilisateurs ont gagné et vous risquez de perdre de bons utilisateurs.
Rooby

Réponses:


51

Au lieu d'essayer d'empêcher l'utilisateur de s'inscrire, ce qui est un jeu pour les trolls et les pirates informatiques, rendez le site ennuyant pour lui. Donnez-lui envie de partir , au lieu de lui donner envie de gagner le jeu de traîne .

Ce que j'ai fait par le passé, sans être spécifique à Drupal, est de laisser l'utilisateur s'inscrire. J'ai ensuite saboté son compte spécifique:

  1. J'ai saupoudré if ($someuser) { sleep(rand($base, $base*2)) }dans le code, où $baseaugmenterait quotidiennement. Je me suis assuré qu'il avait beaucoup de temps morts.
  2. Je laisserais tomber N% de ses postes, où N a commencé au-dessus de 50% et n'a augmenté que de là. Si l'article comportait certains mots clés, il serait immédiatement supprimé.
  3. J'abandonnerais au hasard les règles CSS pour que la page ne s'affiche pas correctement. Encore une fois, la gravité augmenterait avec le temps.

Cela nécessitait plus d'effort de ma part, mais, selon le conseil de Sun Tzu, je préparais l'utilisateur à détester mon site . Je voulais qu'il ressente non pas qu'il nous importunait, mais plutôt qu'il devrait être agacé par les retards et les bogues apparents. Cela lui a pris moins d’une semaine pour nous abandonner.

EDIT : dans les commentaires, l’utilisateur rooby mentionne le module Misery qui repose sur le même concept:

  1. Délai : créez un délai de longueur aléatoire, donnant l'apparence d'une connexion lente. (par défaut, cela se produit 40% du temps)
  2. Ecran blanc : présente à l'utilisateur un écran blanc. (par défaut cela se produit 10% du temps)
  3. Mauvaise page: redirection vers une URL aléatoire dans une liste prédéfinie. (par défaut cela se produit 0% du temps)
  4. Nœud aléatoire : redirection vers un nœud aléatoire accessible par l'utilisateur. (par défaut cela se produit 10% du temps)
  5. 403 Accès refusé : présentez à l'utilisateur une erreur «Accès refusé». (par défaut cela se produit 10% du temps)
  6. 404 Introuvable : Présenter à l'utilisateur une erreur "Introuvable". (par défaut cela se produit 10% du temps)
  7. Les formulaires ne sont pas soumis : redirigez-les vers le formulaire lors de la validation pour empêcher la soumission. (Par défaut, cela se produit 60% du temps) Remarque: Parfois, certains formulaires valident en fonction du bouton sur lequel vous avez appuyé, cela ne fonctionnera pas dans ces cas.
  8. Crash IE6 : Si l'utilisateur utilise Internet Explorer 6, son navigateur se bloquera. (par défaut cela se produit 0% du temps)
  9. Spam : remplacez le contenu du nœud par un mot défini. (par défaut cela se produit 10% du temps)
  10. Déconnexion : Déconnecte l'utilisateur. (par défaut cela se produit 10% du temps)

8
Je pense que c'est formidable en théorie, mais l'idée de coder en dur $someuserchaque fois qu'ils créent un nouveau compte me fait frémir. Pourtant, bonne idée. Peut-être simplement ajouter un champ dans la table des comptes, comme une trollcolonne. Si c'est 1, les changements prennent effet. Ajoutez ensuite une interface simple pour marquer quelqu'un en tant que troll. Au moins, c’est un peu plus facile que de coder en dur un nom d’utilisateur / identifiant d’utilisateur / email / etc. chaque fois qu'ils s'inscrivent sous un nouveau compte. Upvoter cela à coup sûr, cependant.
Nate I

5
@NateI vous pouvez le rendre réutilisable si. if (hellbannedUsers.contains($someuser))est une étape mieux. Je n'aime simplement pas à quel point la logique homebrewed est importante, mais elle peut au moins être réutilisée.
Djechlin

3
@djechlin Bien sûr, cela peut être rendu réutilisable, d'où mon propre commentaire sur le fait d'aller plus loin avec une table dans la base de données.
Nate I

3
Vous pourriez être intéressé par le module de la misère pour vous épargner du codage.
Rooby

7
Très bonne réponse. Une variante consiste à laisser le message affiché à Troll et à afficher les messages à cet utilisateur, mais à les masquer pour tous les autres utilisateurs.
Zelanix

30

Envoyer le fournisseur d' accès Internet de l'abuseur - Ils vont - mettre un terme!

Vous avez un journal de ses temps de création de compte, et les adresses IP utilisées pour vous inscrire, non? Vous avez également un journal de tous ses commentaires harcelants? Envoyez ces journaux à leur fournisseur de services Internet .

Vous pouvez trouver le fournisseur d'accès en effectuant une recherche IP directement avec ARIN à l' adresse https://whois.arin.net/ui ou un autre service qui les utilise simplement pour un whois. La plupart des utilisateurs auront un fournisseur d'accès Internet réel pour le propriétaire de la propriété intellectuelle, mais certaines (généralement les grandes entreprises) seront propriétaires de la propriété intellectuelle elles-mêmes. De toute façon, vous saurez qui est le propriétaire de l’IP, et à partir de là, vous pourrez les rechercher et obtenir une adresse email abusive (ils insèrent parfois une adresse email abusive réelle dans les informations WHOIS, ce qui est excellent) à envoyer. votre email à. Soyez gentil et courtois avec le FAI. N'écrivez pas un roman épique - restez simple. Quelque chose comme "Cette adresse IP me harcèle et les utilisateurs de mon site Web, veuillez consulter les journaux" suffira. Ils en voient des milliers par jour, ils ne veulent pas lire une histoire de sanglots.

J'étais ingénieur réseau chez un fournisseur d'accès Internet. Nous avons reçu d' innombrables rapports de harcèlement pour ce genre de comportement. Au moment où un abonné reçoit l'appel téléphonique, il s'arrête environ 90% du temps. Si cela continue, des poursuites judiciaires peuvent s'ensuivre, ce qui signifie que la plupart des FAI prennent des mesures très sérieuses.

Votre agresseur est probablement un enfant qui vit à la maison avec ses parents . En d'autres termes , lorsque le compte Internet de ses parents est menacé de résiliation, ils seront extrêmement mécontents de son comportement.

J'ai personnellement choisi cette voie et ça marche, même si l'agresseur n'est pas dans votre pays. Les FAI ne prennent PAS à cœur que les utilisateurs abusent de leur réseau.

Note latérale

Il y a la possibilité qu'il utilise un proxy. Cependant, il est très improbable qu’il ait utilisé une procuration lors de l’enregistrement initial, sauf s’il avait l’intention (à partir du moment où il s’est enregistré) de naviguer sur votre site Web. Si aucun des IP ne pointe réellement vers un FAI légitime où vous pouvez réellement envoyer un email abusif, essayez de l'envoyer à n'importe quel service Proxy qu'il utilise.

Les gens ont cette idée folle que simplement parce que quelqu'un utilise un proxy, ils sont indétectables. C'est faux. Les services proxy suivent généralement les mêmes règles que tout le monde (il y a bien sûr des exceptions). Lorsqu'ils reçoivent un rapport d'abus, ils s'en occupent comme un FAI.

Sur la très petite chance que cet utilisateur soit derrière un proxy qui ne joue pas bien, je suivrais les conseils des autres répondants. Sérieusement, c'est tellement rare que la plupart des propriétaires de sites Web ne verront jamais une attaque de la part d'une personne apparemment "indétectable".


2
C'est la seule solution réelle . Tout ce qui a été proposé semble être une solution de contournement, pas une solution.
un CVn

Tor peut également être un problème à cet égard, mais si cela vous pose problème, il est toujours possible de bloquer le trafic provenant uniquement des nœuds de sortie Tor . (Ce dernier maintient les dommages collatéraux au minimum.)
un CVn

Pouvez-vous me donner une idée de la durée de ce processus? J'ai envoyé l'information il y a 10 jours et je n'ai encore reçu aucune réponse, même un accusé de réception de mon rapport.
Patrick Kenny

Je n'ai jamais reçu de réponse réelle. La seule chose que j'ai jamais vue de cette façon de faire, c'est que la personne arrête ce qu'elle est en train de faire. La personne vous harcèle-t-elle toujours et les utilisateurs de votre site Web?
Nate I

17

Sur votre question, vous ne mentionnez pas avoir un Captcha. Peut-être que cet utilisateur ennuyeux est un bot? Je suppose que vous avez déjà un captcha et que cet utilisateur est réellement humain.

Mais ... si ce n'est pas le cas, je recommanderais:

reCAPTCHA

Utilise le service Web Google reCAPTCHA pour améliorer le système CAPTCHA et protéger les adresses électroniques.

entrez la description de l'image ici


9

Hellban / shadowban

Comme il est presque impossible d'empêcher une personne de créer de nouveaux comptes pour remplacer les comptes bloqués, une solution relativement populaire à ce problème est le soi-disant hellban ( http://www.urbandictionary.com/define.php?term=hellban ) ou shadowban. , où vous implémentez une fonctionnalité qui isole certains comptes de tous les autres sans indiquer qu'ils ont été bannis.

Par exemple, vous voudriez vous assurer qu’ils ont l’impression que leur expérience est authentique et qu’ils peuvent continuer à utiliser les mêmes comptes, mais vous devez également vous assurer que leurs publications ou activités ne sont visibles que par les comptes de Hellbanned et tous les comptes (ou non enregistrés). dans des situations) qui partagent une adresse IP et / ou des cookies avec le compte hellbanned. Si l'utilisateur continue à troll mais ne reçoit aucune réponse, il finira par quitter.


Comment implémenter cela dans Drupal 7?
Reinierpost

1
@reinierpost - La grotte est une option pour mettre cela en œuvre
BryanH

7

À la suggestion de No Sssweat, je mets ceci comme réponse plutôt que comme commentaire pour que plus de gens le voient.

Drupal.org/project/misery réussit assez bien à ennuyer un utilisateur avec environ huit méthodes différentes. Temporisations aléatoires, déconnexions, redirections aléatoires, etc. et la fréquence est variable.

Une version facile de la belle écriture de dotancohen au problème.


6

Pourquoi ne pas utiliser un second facteur? Dans votre inscription, dites que vous allez envoyer un SMS sur leur téléphone ou un email et demandez-leur de confirmer leur inscription en cliquant sur un lien et en renvoyant les informations. Vous obtiendrez un identifiant plus difficile à usurper que l'adresse IP et il sera peut-être plus facile de le filtrer de cette façon. Évidemment, il faudra une petite quantité de script ...


5

C'est en fait impossible.

Vous ne pouvez pas empêcher une personne de s'inscrire encore et encore. La seule chose que vous pouvez faire est de durcir le processus d'enregistrement et double / triple vérification de leur identité (par adresse e - mail et votre compte Google et compte Facebook et LinkedIn compte et numéro de téléphone, etc.) et corrèle chaque personne avec un ID spécifique total tous ces détails.

La personne en question peut choisir un autre réseau via un proxy Web, créer plusieurs e-mails, ouvrir plusieurs comptes Facebook / Google / LinkedIn, etc., mais vous ne pourrez jamais empêcher cette personne de s'inscrire à nouveau (à moins de vérifier son ADN).

Votre seul choix est de renforcer le processus d'inscription.


2
Comme je l'ai dit, demandez à vos futurs nouveaux utilisateurs de lier leur compte avec un compte Facebook unique, un compte Google unique, un compte LinkedIn unique et un numéro de téléphone unique auquel vous envoyez un SMS. Vous êtes dans une position très difficile! Vous ne pouvez pas, sans moyens vraiment coûteux , vous assurer qu'un utilisateur ne s'enregistre qu'une seule fois. De plus, le seul moyen que vous pouvez utiliser gênerait vos futurs utilisateurs (qui est prêt à lier un compte ggl / SO / fb / LinkedIn / GH + envoyer leur identifiant par courrier postal, pour créer un nouveau compte?)
Auzias

11
C'est un moyen rapide de réduire votre nombre d'utilisateurs authentiques également.
Tom.Bowen89

3
Vous dites que c'est impossible dans le pire des cas, c'est-à-dire si une agence de renseignement avancée dotée de milliards de dollars cherche à vous obtenir. Il y a de très bonnes chances que le PO ait affaire à un enfant de 11 ans. Votre réponse est donc à la fois peu pratique et trompeuse.
Djechlin

2
Votre réponse se contredit. Cela signifie que vous ne pouvez pas, alors la seule façon de le faire est de renforcer le processus d’enregistrement, ce qui ne résoudra pas nécessairement le problème et n’est pas la seule solution potentielle.
Rooby

1
Je ne sais pas;) ou n'ai pas Google, ni LinkedIn
Auzias

4

Comme suggéré par No Sssweat, vous pouvez utiliser reCAPTCHA. Mais si vous ne voulez pas déranger les utilisateurs légitimes, vous pouvez essayer le module Honeypot . Cela donne la possibilité d'avoir un champ supplémentaire qui ne devrait pas être rempli (les robots AFAIK peuvent remplir tous les champs) ou avoir une limitation de temps.

La documentation se lit comme suit:

Honeypot utilise les méthodes à la fois honeypot et timestamp pour dissuader les robots de spam de remplir des formulaires sur votre site Drupal (pour en savoir plus, cliquez ici). Ces méthodes sont efficaces contre de nombreux robots de spam et ne sont pas aussi intrusives que les CAPTCHAs ou d’autres méthodes qui punissent l’utilisateur [YouTube].

Une autre option est le module Spambot , qui empêche le courrier indésirable en vérifiant les tentatives d’enregistrement auprès de Stop Forum Spam.

Spambot protège le formulaire d’enregistrement utilisateur des spammeurs et des spambots en vérifiant les tentatives d’enregistrement par rapport à la base de données en ligne Stop Forum Spam (www.stopforumspam.com). Il ajoute également des fonctionnalités utiles pour vous aider à gérer les comptes spam.


3
Cela fonctionne pour les spambots, pas pour les humains.
user253751

3

Il y a une réponse à la question - bien que la communauté puisse trouver cela offensant. Je ne sais pas pourquoi, à moindre coût, le chemin n'a pas été emprunté plus souvent.

Envoyez une lettre de cessation et d'abstention à l'individu qui est en violation de propriété sur votre site et qui enfreint le Titre XVIII du Code des États-Unis, falsification des ordinateurs, fraude et abus.

S'ils ne cessent pas, récupérez l'argent et engagez des poursuites. Au milieu des années 90, j'ai eu le premier cas au sein de la WDMO, où le seul fournisseur d'accès à Internet de la région de Kansas City avait été piraté par 3 adolescents. J'ai contacté les familles (elles avaient enraciné l'un des serveurs et étaient assez stupides pour stocker leur candidature pour rejoindre les groupes "Warez" avec leurs noms et adresses réels dans un sous-répertoire caché) et leur ai demandé d'empêcher les adolescents de le faire. Ils ont refusé.

Dans une plainte de 54 pages, j'ai dû expliquer: fournisseurs d'accès Internet, Internet, accès excessif, etc. à un juge nouvellement nommé.

J'étais plus qu'un avocat, un compte mien avait été consulté (dieu merci, pas un compte client - The Rust List) et j'ai été coché. J'ai inculpé les parents (seule voie possible lorsque les accusés étaient mineurs dans le cadre d'une action civile) et j'ai déclaré que les parents avaient mis un instrument dangereux entre les mains de mineurs sans surveillance adéquate et que ceux-ci s'étaient livrés au transfert de logiciels volés, et kiddie porn (oui, des garçons âgés de 16 ans prenant des photos de leur GF de 16 ans est "du porno kiddie"). J'ai frappé les politiques du propriétaire et j'avais un recours que les tribunaux de l'époque ne pourraient même pas envisager: une interdiction à vie de l'utilisation d'ordinateurs pour les adolescents.

Cela s'est réglé dans la semaine qui a suivi le transfert de découverte.

Vous avez tout essayé: frappez cette petite merde avec une walletectomy. Veillez à choisir un avocat qui sait ce que c'est et non pas un associé à un "grand cabinet" où vous serez facturé à mort.

Réfléchissez à la manière dont une ordonnance de la cour empêchant le malfaiteur d'accéder à votre site pourrait fonctionner: violation de l'ordonnance et le tribunal répondra par une ordonnance de justification indiquant pourquoi le défendeur ne devrait pas être déclaré coupable d'outrage au tribunal.

Une attaque provenant d'autres sites / adresses IP commence à arriver - informez-en votre avocat - et la réponse peut inclure une copie en miroir des ordinateurs du défendeur, une injonction empêchant le défendeur de tout accès à Internet et, s'il est établi que le défendeur a violé la décision par procuration , la Cour va imposer des sanctions.

En fin de compte, le réflexe s’est peut-être limité à être bloqué pour toujours par Internet. Si vous êtes vraiment énervé après tout cela et que vous voulez être certain que le défendeur est hors Internet, engagez un enquêteur pour suivre le défendeur pendant une semaine ou dix jours (pas bon marché) et s'il / elle accède à Internet d'un Starbucks - ou McD's vous les avez: retour au juge.

L’ordre ultime dépasse l’imaginaire et n’arrivera qu’aux preuves écrasantes que le défendeur a régulièrement enfreint les ordonnances du tribunal: pas de téléphone intelligent, pas de VOIP, pas de télévision par câble ou satellite (Internet est disponible et il a montré un mépris total pour la loi, donc rien qu’ils ne puissent pirater pour obtenir l’accès n’est autorisé), pas d’Internet (ce serait bien si c’était une interdiction à vie - probablement pas), pas d’Internet des objets, et finalement, pas de dispositifs informatiques.

Si le défendeur gagnait sa vie dans le secteur de la technologie, il a des fossés à creuser et des hamburgers à retourner.

Voilà comment mettre fin à cela avec l'option nucléaire.


@ Pierre.Vriens C'est en tout cas une information intéressante, et pendant que je suis à Tokyo, mon entreprise est aux États-Unis, de même que l'utilisateur abusif.
Patrick Kenny

OK, désolé pour mon commentaire alors (j'ai déjà supprimé mon commentaire précédent à ce moment-là) ... Je le regarde avec des lunettes EUR cependant ...
Pierre.Vriens le

2

J'aime le modèle de la misère, mais j'ajouterais à l'envoyer au hasard à une page avec des messages vraiment énervants et d'autres fois de l'envoyer à des sites pornographiques vraiment mauvais. Tout ce qui pourrait lui causer des ennuis ou être gêné s'il est en public.


1
Les temps désespérés appellent des mesures désespérées, ce serait tellement ennuyeux. Je pourrais ajouter le rediriger vers Rick Roll, lol.
No Sssweat

1
Cela donnerait qu'il est bloqué
Ángel

2

J'ai écrit un module spécifiquement pour ce genre de situation. Il s’appelle Spaces Enforced et se trouve ici . Il bloque toute personne inscrite dont le nom ne contient pas au moins 1 espace. Il peut être configuré plus avant et vous pouvez sélectionner le caractère qui doit apparaître combien de fois. Il présente également un taux de succession proche de 100%

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.