Trucsweb.com

Trucsweb.com

Securité

Formulaire Web

RDFFav

Sécuriser un formulaire de contact au Far-Web!

Internet est un endroit dangereux dans le meilleur des cas selon la plupart des spécialistes. Le Far-West des despérados!sécurité, hack, hacking, bot, robot, moteur, courriel, email, fraude, abus de formulaire, SPF, DNS,DKIM, Domain Keys Identified Mail, DMARC, encryption, authentifierSécuriser un formulaire de contact au Far-Web!

Jacques Dutronc - Les Cactus
Jacques Dutronc - Les Cactus

Internet est un endroit dangereux dans le meilleur des cas selon la plupart des spécialistes. Le Far-West des despérados, des hors-la-loi et de la réglementation quasi inexistante. Le Web c’est pareil, à la différence qu’il n’y a pas encore de Web civilisé! On nous fait peur avec un dark Web parallèle alors qu’un grand nombre de sites sont bloqués avec Tor, bien plus qu’avec un navigateur conventionnel! En d’autres mots « les légaux » du Web « éclairé » sont parfois pires que le petit hors-la-loi d’antan!

La sécurité

Le protocole SMTP qui permet d’envoyer un courriel le premier protocole, il date d’une époque où le Web était encore inoffensif. Alors quand les pourrielleurs ont compris que le SMTP laissait passer n’importe quoi, nous on a découvert massivement le viagra ;- ) Il n’est pas nécessaire de vous dire à quel point la sécurité est non seulement une préoccupation quotidienne, c’est un développement perpétuel qui a tendance à s’embourber selon plusieurs.

On est loin de l’époque des notaires du Web qui authentifiait un internaute avec un certificat! Oui, oui, j’ai même été un de ces « notaires ». Évidemment ça n’a pas fonctionné, il aurait fallu que les majors participent sans en profiter...

Chaque jour, chaque matin, avant même ma première gorgée de café, je consulte les pourriels et les abus de formulaire pour me mettre à jour! C’est un combat quotidien!

Les Bots ou robots

Aujourd’hui, le principal outil des hors-la-loi c’est le robot, le bot, l’engin, le grabeurs... Les robots accaparent plus de la moitié de la bande passante. C’est une véritable plaie qui coute une fortune en énergie quand on y pense. Énergie complètement gaspillée et ce même en oubliant le tord inhérent qu’ils peuvent causer! N’oublions pas que la méthode est simple. Un million de courriels dans l’espoir de prendre quelques poissons. On est loin de l’efficacité énergétique de notre époque(!).

Toléré par l’industrie? D’abord, il y a les robots des moteurs de recherche "légale" qui ratisse déjà pas mal large, certains abusent, d’autres influences drôlement... Mais surtout, ça reste de la consommation, de la consommation de bande passante que l’on doit payer (qui peut bien en profiter?). Même si la grande majorité utilise un prétexte pour bêtement nous abuser, ça reste une publicité gratuite pour d’autres. Je me demande d’ailleurs qui peut bien avoir intérêt à encourager les pourriels de viagra? ;- ) On ne compte plus les abus de formulaire qui utilisent une adresse Gmail dont le très populaire « no-replysi@gmail.com »!

Mais bon, un exemple vaut mille mots. Depuis 25 ans le Web a évolué et des outils, des pansements, se sont imposés sur le vieux protocole SMTP. Si plusieurs sont requis, les plus importants sont tout simplement ignorés. À preuve, votre compte Gmail ou Hotmail. J’ai encore et toujours des pourriels non sollicités dans ma boite de réception Hotmail ou Gmail, mais les communications importantes arrivent dans la boite de mes pourriels! Si Google ou Microsoft n’y arrive pas, que puis-je y faire?

L’authenticité d’origine

Prenons par exemple la la politique de l’expéditeur, le SPF (Sender Policy Framework) qui permet d’autoriser ou nom un envoyeur pour "éviter" le pourriel, le « spoofing » (L’usurpation d’identité électronique, de votre courriel). Un enregistrement SPF, qui n’est déjà pas parfait, est un enregistrement de ressource DNS qui déclare les hôtes autorisés ou non à utiliser un nom de domaine pour les identités "HELO" et "MAIL FROM" (quels hôtes sont autorisés ou non à envoyer un courriel). Même si cet outil est de mieux en mieux configuré, c’est loin d’être la majorité des serveurs.

La recommandation dit de refuser tout courriel non autorisé avec la directive « -all ». Mais on trouve encore beaucoup de « SoftFail » (~all) qui les laisse passer tout simplement. Si ce n’est pas carrément ignorer avec la directive « none » (?all). Si la directive n’est pas respectée, elle ne sert à rien!

  • -all - Cela signifie que si une correspondance exacte n’est pas trouvée, le courriel a échoué et ne parviendra pas à l’abonné à quelque titre que ce soit.
  • ~all - Il s’agit d’un échec logiciel et signifie que si une correspondance exacte n’est pas trouvée, le courriel a échoué, mais sera quand même envoyé. Cependant, il est susceptible d’aller dans un dossier de pourriel.
  • +all - Cela permet à n’importe quel serveur d’envoyer des courriels à partir de votre domaine. C’est un laissez-passer gratuit pour utiliser votre nom de domaine et il ne devrait (jamais) être utilisé.
  • ?all - Il s’agit d’un paramètre neutre. Le message n’a ni réussi ni échoué. Il est utilisé lorsqu’un propriétaire de domaine ne souhaite pas affirmer ou restreindre une adresse IP particulière.

Amusez-vous, tester des SPF de différent nom de domaine...

Pour vous en convaincre, pensez à deux choses? Le nombre de pourriels dans votre boite des pourriels et surtout le nombre de formulaires en ligne qui vous invite à vérifier votre boite de pourriels, au cas! Tout ça pour dire que les pourriels passent plus que jamais les filtres. Malgré tout, le pourriel transige sur le Web sans encombre, sur plusieurs serveurs et arrive sur votre serveur voir votre machine même s’ils ont été détectés. On laisse entrer le renard dans la bergerie! On laisse entrer le voleur qu’on enferme dans la cave!

DKIM (2007) et DMARC

Deux autres technologies qui de concert permettent de crypter et d’authentifier une signature dans un courriel. Ce qui permet en principe d’assurer l’authenticité d’origine. Mais voilà, ce n’est pas légion encore aujourd’hui. Et surtout, c’est simplement une suggestion que le serveur peut ignorer, encore une fois! Je le compare souvent à un filigrane qui n’empêche pas de se faire voler, mais qui permet de prouver que je suis le propriétaire et qu’il y a eu vol!

Les serveurs de messagerie peuvent donc utiliser le « Domain Keys Identified Mail », ou DKIM pour intégrer une signature numérique dans chaque courriel envoyé. Lorsqu’un serveur de messagerie destinataire Y reçoit un courriel signé DKIM prétendant provenir d’un serveur X, il recherche d’abord la clé publique du serveur X via les ressources DNS pour s’assurer que c’est véridique. On peut donc vérifier une signature pour s’assurer que le courriel est authentique et non modifié.

C’est une bonne technique, mais étant donné que les serveurs acceptent n’importe quoi, n’importe qui pour supprimer la signature DKIM d’un courriel en prétendant qu’il n’a jamais été signé! Il faut donc le combiné au protocole DMARC. Le serveur envoyeur peut indiquer, via les ressources DNS, si le courriel est muni d’une signature DKIM par exemple. Parfait, mais où est le problème alors?

Le déni

On se souviendra de l’affaire « Larry et Sergey » quand Zachary Harris a piraté Google en 2012 en envoyant un courriel avec l’adresse d’un des dirigeants de Google. Il a démontrer que le cryptage RSA 512 octets pour signer un courriel avec une clé DKIM pouvait être facilement « craquée ». C’est pour cette raison que l’on doit utiliser depuis une clé de 1024 bits ou 2048 bits. Mais les conséquences sont désastreuses selon Matthew Green :

« Des fournisseurs comme Google ont réagi à l’ensemble de l’embarras de "Larry et Sergey" de la manière à laquelle vous vous attendiez. Sans réfléchir sérieusement aux implications, ils ont rapidement augmenté leurs clés en RSA 1024 bits ou 2048 bits. Cela a arrêté les contrefaçons, mais a transformé par inadvertance un protocole antipourriel inoffensif en un tampon d’authenticité cryptographique à vie (éternel) - un tampon qui peut être utilisé pour vérifier la provenance de tout vidage de courrier électronique, quelle que soit la manière dont il parvient au vérificateur. »

Voilà, un autre problème, le correctif (la patch) augmenterait les risques! C’est ce que prétend Matthew Green (et de plus en plus de spécialistes) dans son article « Ok Google: please publish your DKIM secret keys ». C’est subtil, mais du coup, les clés DKIM ont été dénaturées. La conclusion de Matthew Green :

« En bref, un protocole antipourriel conçu à l’origine pour fournir une authenticité de courte durée aux courriels voyageant entre les serveurs de messagerie s’est transformé - sans aucune discussion ni consentement des clients commerciaux de messagerie - en un outil qui fournit une authentification cryptographique indéniable de chaque courriel dans votre boîte de réception et boîte d’envoi. C’est une ressource incroyable pour les journalistes, les pirates et les maîtres chanteurs.

Le fait que DKIM puisse être utilisé pour prouver l’authenticité de courriels volés datant d’aussi loin que 2015 est fondamentalement une erreur : le résultat d’une mauvaise utilisation et d’une mauvaise configuration par les fournisseurs de messagerie qui devraient être mieux informés. »

Mais il y a une solution toute simple, changer de clé privée quotidiennement. Et c’est ce que demande Matthew Green à Google. Modifier ces clés quotidiennement et publier publiquement les vielles clés désuètes. Une autre solution entre les mains des majors du Web tout simplement ignoré...

La culture

En passant, il y a d’abord la culture. Ça n’existe pas un émir qui veut vous donner un million de dollars! Ni une belle Russe nymphomane qui vous désire en secret! Il faut nous éduquer et développer nos réflexes. Personnellement, ça suffit à me protéger, je n’ai même pas d’antivirus depuis 20 ans! Ensuite, le Web ne pardonne pas, c’est en temps réel, partout à la fois, à la vitesse de la lumière, ad vitam æternam. Avant on disait de ne pas parler aux étrangers, aujourd’hui tout est étranger sur le Web! Et il faudrait le dire davantage!

Il faut faire attention aux mots de passe certes, mais c’est toutes vos informations qu’il faut protéger comme la prunelle de vos yeux. Votre CV public sur LinkedIn, c’est hot, c’est pratique, mais c’est insensé! De grâce, gardez privées vos données sur LinkedIn! Que dire de l’application pour acheter un café!?? Demander vos coordonnées pour un rien! Votre code postal, pire, on vous demande parfois votre numéro de permis de conduire pour vous authentifier!!! C’est fou! Même cliquer ici pour vous désabonner dans un pourriel est une erreur. C’est un leurre qui permet surtout de confirmer votre adresse courriel.

Deux portefeuilles!

Limiter la diffusion de vos informations personnelles et sécuriser vos informations. Par exemple exiger au minimum d’être connecté à Facebook pour consulter votre profil. Si vous n’êtes pas une entité commerciale déjà publique, utiliser un pseudonyme au lieu de votre nom réel. Personne ne vous oblige à donner votre véritable identité? On l’exige sans scrupule, c’est une valeur marchande! Mais au fond, ils s’ent foutent royalement de votre identité. Une signature à une valeur si votre nom bonifie vos propos. Si j’étais Albert Einstein ou Tim Berners-Lee (qui critique allègrement le Web, donnez-lui le prix Nobel S.V.P.), je veux bien croire sinon c’est une valeur sonnante sans plus ...à votre insu. En attendant, les robots captures sans relâche et ce n’est pas pour vous vendre un café! Les médias sociaux c’est super pratique dans certains cas, mais ils resteront toujours une source de donnée inépuisable...

Il faut deux portefeuilles sur le Web, un normal avec votre adresse de courriel personnelle, des mots de passe de qualité, différents pour chaque service , banque, gouvernement, vos amis-es. Et un autre portefeuille plus léger pour le reste plus douteux. C’est-à-dire une carte de crédit prépayé avec une petite limite. Un mot de passe plus simple si vous voulez, un pseudonyme, un âge abstrait et surtout une autre adresse courriel Hotmail ou Gmail par exemple. Pourquoi pas un navigateur Tor pour éviter d’être pisté.

N’oubliez pas que la sécurité de vos données est à la merci de votre adresse courriel!

Jacques Dutronc - Et moi, et moi, et moi
Jacques Dutronc - Et moi, et moi, et moi

Et moi, et moi et moi?

Et moi, he bien je réinvente la roue! J’utilise tous les outils disponibles de la liste grise à la signature DKIM en passant par les bonnes habitudes, mais surtout mes scripts perso!

J’utilise mes propres systèmes de cryptage! Oui, ils sont très loin d’être aussi efficaces, j’en suis à la dernière guerre, au mieux au Vietnam! Mais j’ai deux avantages, je ne suis pas Google et je suis original. Il n’y a rien de pire qu’un code ouvert et surtout largement répandu pour se faire pirater. Contrairement à une banque, je n’ai rien à perdre (quoiqu’une banque qui perd est un syllogisme)! Et surtout, mon temps de réponse est extrêmement rapide. Il y a un tas d’attaque et de pourriels qui sont faits par des amateurs sans aucune expertise. C’est souvent des outils désuets. Parfois en investiguant on découvre que le site et le courriel sont déjà fermés. Mais c’est un secteur d’activité en pleine effervescence, il n’y a qu’à penser à l’espionnage industriel. Des milliards en développement assurément. D’ailleurs, un tas d’outils utilisé par les pirates ont été développés par des firmes en sécurité. La NSA en tête de file!

Le CAPTCHA

On y est, je vais donner quelques-unes de mes trucs pour sécuriser un formulaire de contact, mais je me garde une petite gène, je ne dévoile pas tous mes trucs ; -) Premièrement le saudit CAPTCHA! À l’image du Web et de l’ère moderne. Au lieu de pénaliser les contrevenants, on emmerde tous le monde! Au lieu de régler le problème, on délègue et c’est l’internaute qui paye. Et je n’aborde même pas le tout aussi saudit Google qui en plus de scruter nos faits et geste avec son navigateur, son moteur de recherche, ces publicités, son système d’exploitation Android, ses tablettes et téléphones, son Google Analytics installé sur la grande majorité des sites Web, nous offre gracieusement et en permanence son CAPTCHA! Ouf, ça fait du bien de sortir le méchant ; -)

Les formulaires de contact vs une adresse courriel

D’abord, sachez qu’un formulaire de contact, au-delà de son caractère public et donc de sa vulnérabilité aux robots, est un outil de communication à la base pour protéger votre adresse courriel et votre nom de domaine. Il fut un temps où il permettait d’écrire sans avoir d’adresse courriel, mais ce temps est révolu, un formulaire de contact exige pratiquement toujours une adresse courriel. Si vous voulez éviter les problèmes, utilisez simplement votre adresse de courriel et votre antipourriel et passez au salon pour siroter un bon vin. Car la plupart des formulaires de contact n’ont pas accès aux mêmes outils. À moins d’avoir des banques d’IP et un système qui s’assure que le courriel existe vraiment, l’internaute peut utiliser n’importe qu’elle adresse, valide ou pas et le formulaire partira.

Un formulaire de contact c’est aussi un outil anonyme. Il n’y a pas de gène, pas de filtre, les gens s’en permettent. Ce n’est pas un outil pour se faire dire qu’on est beau, enfin pas seulement! Il ne faut surtout pas se sentir visé. Un forum par exemple est public, un commentaire est avant tout public même s’il semble vous être directement adressé. Je pense que certaines personnes ne devraient même pas avoir de formulaire de contact! D’ailleurs, il n’est pas rare aujourd’hui de trombe sur le site d’une grande entreprise qui n’a aucun moyen de contact en ligne. Ce qui ne diverge pas tellement du support téléphonique robotiser qui ne nous mène souvent nulle part! On a beau être à l’époque de l’hypercommunication, on a encore de la difficulté d’entrer en contact avec certains acteurs de notre société! Au contraire, c’est l’inverse qui se passe, n’importe qui peut nous contacter ou connaitre nos activités ; -) Pire, un président impulsif peut twitter un message stupide dans la complète indifférence!

Bienvenue au Far-Web!

La sécurité c’est une affaire de couches. C’est comme le froid, il n’y a pas de solution miracle, il faut de l’air et plusieurs couches superposer pour l’emprisonner! Et aucune des couches n’est infaillible, c’est la combinaison de celles-ci qui offre une plus grande sécurité. La plupart des couches suivantes peuvent être contournées.

Vous trouverez sans problème des détracteurs sur le Web! Je le répète, l’idée est la multiplication des couches! À l’image des antipourriels, l’idée consiste à accumuler des points d’inaptitude (démérites). Chacune des couches accorde un nombre de points d’inaptitude. Si le total des points dépasse une certaine limite, le formulaire est considéré comme un abus!

Ajax et référent

Un truc, indiquer aux moteurs de recherche dans le fichier « robots.txt » de ne pas référencer la page contact.

Un robot n’a pas de référent (enfin, pas toujours...)! La première chose que mes formulaires vérifient, c’est le « référent »! Quand un internaute utilise votre formulaire, il provient d’une page web de votre site, d’un moteur de recherche, ou même d’un autre site. L’erreur est possible, l’internaute a pu utiliser ses favoris pour accéder à la page. Mais c’est déjà un point d’accumulé! Un truc, indiquer aux moteurs de recherche dans le fichier « robots.txt » de ne pas référencer la page contact. Vous pouvez aussi utiliser un formulaire qui redirige vers une seconde page pour traiter le courriel. Cette seconde page peut alors vérifier si la page « référent » est bel et bien la page contact ou encore si elle provient réellement de votre domaine.

Mieux encore, et c’est ma solution de prédilection, utiliser un formulaire de contact Ajax! Non seulement le référent est plus facile à tester, mais en plus ça demande plus de travail pour trouver l’url de la page qui traitera le formulaire. Ça peut déjouer les robots qui capturent les formulaires et même décourager les amateurs!

  • Référent = "" + 1 point ;
  • Référent != "ma page de formulaire" + 1 point ;
  • Référent != "mon nom de domaine + 1 point.

Signature des robots

Dans le même ordre d’idée, je valide quelques champs de saisie. J’ai remarqué quand demandant le nom et le prénom, les robots se contentaient pratiquement toujours d’utiliser le même nom ou mot dans les deux champs. Si nom = prénom, un autre point... Ou encore un champ obligatoire qui n’est pas renseigné, +1. Au-delà des mots clés, il y a toute sorte de petits détails observables qui sont en quelque sorte une signature de robots. Par exemple « To unsubscribe », pourquoi se désabonner d’un message envoyé par notre propre formulaire de contact!?! Depuis la COVID et particulièrement la guerre en Ukraine, les tentatives d’abus exclusivement en anglais auparavant nous proviennent maintenant de partout en plusieurs langues : hébreux, turque, chinois et japonais, russe et slave, espagnol... On ne peut pas dire que ça va en s’améliorant!

Variables cachées (hidden)

Quand l’internaute ouvre le formulaire et quand il clique sur « envoyer », je renseigne plusieurs champs de type « hidden » (cachés) dans le formulaire. Par exemple un numéro unique GUID (Globally Unique Identifier) que le serveur attribue à chaque visiteur. Je peux alors les comparer avec des valeurs fixes comme les variables serveur :

  • LOCAL_ADDR (IP du serveur) != IP de l’envoyeur + 1 point ;
  • REQUEST_METHOD (Méthode du formulaire) != POST + 1 point ;
  • SCRIPT_NAME, URL et HTTP_ORIGIN (page du formulaire) != Page du formulaire + 1 point ;
  • HTTP_HOST (domaine) != Domaine du formulaire + 1 point ;
  • GUID (variable session) != Variable session + 1 point ;

Je compile aussi l’IP, le pays et la date locale de l’internaute. C’est toujours pratique pour identifier et dénoncer les abuseurs aux autorités, par exemple « abuseipdb »... Encore une fois, les robots peuvent contourner ces mesures. Mais croyez-moi c’est plutôt rare, voir jamais. Les robots ou plutôt les utilisateurs de robots sont généralement paresseux. Il y a tellement de poissons dans la mer que la canne à pêche ou la trôle (cuillère pour la pêche à la traine) importe peu...

La liste blanche et grise

Une liste blanche consiste à refuser tout courriel qui n’est pas au préalable sur la liste. C’est une communauté avec compte et mot de passe en quelque sorte. Ou un formulaire modéré pour des commentaires. La liste grise ne refuse pas les adresses qui ne sont pas sur la liste. Elle évite aux adresses de la liste grise le filtre qui peut être plus sévère. À ne pas confondre avec la liste grise beaucoup plus efficace d’un serveur de courriel qui envoi une requête au serveur prétendu de l’envoyeur pour s’assure qu’il répond présent. La liste blanche ou grise n’est pas exclusive aux adresses courriel. La langue, le pays, les IP, tout est propice à filtrer les requêtes.

Les mots clés

C’est de loin la méthode la plus rependue. Le mot « porno » ou le mot « viagra » peut indiquer un grand nombre d’abus! Mais n’importe qui peut utiliser ses mots clés sans pour autant être un abuseur. C’est encore un système de point qui permet d’éviter les erreurs. J’ai deux listes, une liste de mots dit « faibles » qui compile un point à chaque détection. Une fois le mot « porn » c’est un point, 10 fois c’est 10 points! Même chose pour les liens raccourcis comme tinyurl.com, bitly.com, cutt.ly et particulièrement bit.ly n’indique pas nécessairement un abuseur, mais il y a de fortes chances! Un autre point!

Une deuxième liste de mots et de phrase « durs » qui indique de facto un abus. Par exemple les abus SEO sont légion. J’imagine que leur raisonnement est le suivant « Je le fais pour la bonne cause alors c’est surement légal! ». On utilise même notre sécurité pour justifier leur proposition. « Voyez-vous comment j’ai réussi à utiliser votre formulaire pour vous abuser? Vous pouvez utiliser nos services pour faire la même chose à grande échelle! ». Ça en dit gros sur cette firme et ses méthodes. D’autant que faire de la promotion de ses services en abusant provoque inévitablement le contraire. Votre marque risque d’être brulée avant longtemps! Les mots comme « backlinks », les sites comme « monkeydigital.co » ou « TalkWithLead », les adresses « no-replysi@gmail.com », « no-reply@google.com », au fond toutes les adresses qui contiennent « no-reply »!

Les attaques

On rencontre aussi des attaques, des injections SQL, des attaques destinées au moteur PHP, etc. Inoffensif dans le cas d’un formulaire de contact qui n’utilise pas de base de données, enfin ça ne devrait pas! Les tentatives PHP sont plus difficiles à détecter. Si « 1=1 » ou « -1)) OR 407=(SELECT 407 FROM PG_SLEEP(15))-- » est une signature évidente d’une tentative d’injection SQL, un contenu comme « kgcqufbpxra » est vague, impossible à prévoir et surtout à identifier. On peut limiter le nombre de mot et de caractère, mais c’est une fois de plus faire payer l’honnête citoyen!

Injections SQL

Les injections SQL devraient être systématiquement testées au niveau du serveur. Il ne faut pas les prendre à la légère, ils peuvent détruire complètement votre base de données tout en utilisant votre site pour d’autres attaques. Chaque requête devrait être systématiquement validée pour éviter ce genre d’attaque avec ou sans formulaire.

Détecter les humains

Enfin ma préférée, un simple script pour détecter l’humain qui utilise un formulaire. Ce qui permet d’évier d’embêter l’internaute avec un minimum de caractères. Depuis que je teste cette technique, j’identifie 100% des robots qui ont la particularité de ne pas être des humains! Comment, je donne un point de mérite cette fois à chaque action ou itération de l’internaute. « Focus », clics, tabulations, défilement, etc. Résultat, 100% des humains accumulent rapidement des points alors que le robot demeure à zéro! Il m’est arrivé qu’un message légitime soit jugé abusif à cause d’un mot clé, il faut être prudent. Mais détecter un internaute, c’est un score de 100% à ce jour!

La technique est très simple :

  1. Ajouter des champs cachés (hidden) pour chaque type de détection ;
  2. Ajouter un écouteur (listener) pour chaque comportement ou événement ;
  3. Compiler le nombre d’itérations pour chaque comportement ;

Ces valeurs transmises avec le formulaire permettent alors de détecter si c’est un humain ou un robot. Le robot aura inévitablement un compte de zéro alors que l’humain aura un compte de 1000 et plus! Si le nombre de clics, de focus se limite à quelques dizaines par formulaire, le défilement (scroll) peut facilement monter à plusieurs centaines à lui seul.

Trace humaine type d’un formulaire
Scroll :       371
Click :         22
Change :        15
Contextmenu :    0
Copy :           0
Dblclick :       0
Drag :           0
Focus :          0
Focusout :      13
Input :        570
Keydown :      561
Keypress :     489
Keyup :        561
Mousedown :     20
Mousemove :     20
Touchstart :    24
------------------
Total :       2676
Exemple avec le défilement :
<form>
  <input type="hidden" id="oCompteurscroll" />
  <label for="oCourriel" class="form-label">Adresse courriel</label>
  <input type="email" id="oCourriel" />
  <label for="oCommentaires">Commentaires</label>
  <textarea id="oCommentaires" rows="3"></textarea>
  <button type="submit" class="btn btn-primary">Envoyer</button>
</form>

<script>
// Initialisé le compteur
var nActionsHumainscroll = 0;

document.addEventListener("scroll", function() {
  document.getElementById("oCompteurscroll").value = nActionsHumainscroll++
}, false);
</script>
Exemple dynamique :
// Mon formulaire

<form id="oFormulaire" method="post"...
 ...
</form>

<script>
// Exemple avec un seul compteur
// Initialiser le compteur de scroll
var nActionsHumainscroll = 0;

// Créer le champ caché
var input = document.createElement("input");
input.setAttribute("type", "hidden");
input.setAttribute("name", "oCompteurscroll");
input.setAttribute("id", "oCompteurscroll");
input.setAttribute("value", nActionsHumainscroll);

// Ajouter le champ caché dans le formulaire « oFormulaire »
document.getElementById("oFormulaire").appendChild(input);

// Ajouter un écouteur (listener) pour détecter l’événement, en l’occurrence le défilement (scroll)
// Et exécuter la fonction « twDetectHumain ».
document.addEventListener("scroll", twDetectHumain, false);

// Fonction « twDetectHumain » qui additionne un point selon le type d’événement
// Notez le compteur total « oCompteurtotal » qui compile l’ensemble des itérations.
function twDetectHumain(e) {
  switch(e.type) {
    case "scroll" : document.getElementById("oCompteur"+e.type).value = nActionsHumainscroll++;
    break;
    // Vous pouvez ajouter tout type d’événement susceptible d’identifier un humain...
  } 
}
</script>

Voilà, il suffit de s’assurer que le compteur a une valeur numérique supérieure à 0! Le robot n’aura pas de valeur, que des champs vide et même carrément inexistant!

Conclusion

En terminant et encore une fois, il n’existe pas de remède miracle ou de technique infaillible. D’autres parts, c’est un travail à temps plein, il faut constamment se mettre à jour. Et enfin, la société civile ne fait pas grand-chose. D’ici là, gardez l’œil ouvert, nous avons l’avantage d’être plus brillant que la plupart des abuseurs!

Références

, Analyste programmeurConception oznogco multimédia (http://oznogco.com), Trucsweb
Dernière mise à jour :

Commentaires

Ajouter un commentaire
Votre adresse de courriel ne sera pas publiée. * L'astérisque indique les champs obligatoires.
Votre évaluation du tutoriel

10/10 sur 1 revues.
       Visites : 115 - Pages vues : 137
X

Trucsweb.com Connexion

Connexion

X

Trucsweb.com Mot de passe perdu

Connexion

X

Trucsweb.com Conditions générales

Conditions

Responsabilité

La responsabilité des Trucsweb.com ne pourra être engagée en cas de faits indépendants de sa volonté. Les informations mises à disposition sur ce site le sont uniquement à titre purement informatif et ne sauraient constituer en aucun cas un conseil ou une recommandation de quelque nature que ce soit.

Aucun contrôle n'est exercé sur les références et ressources externes, l'utilisateur reconnaît que les Trucsweb.com n'assume aucune responsabilité relative à la mise à disposition de ces ressources, et ne peut être tenue responsable quant à leur contenu.

Droit applicable et juridiction compétente

Les règles en matière de droit, applicables aux contenus et aux transmissions de données sur et autour du site, sont déterminées par la loi canadienne. En cas de litige, n'ayant pu faire l'objet d'un accord à l'amiable, seuls les tribunaux canadien sont compétents.

X

Trucsweb.com Trucsweb

X

Trucsweb.com Glossaire

X

Trucsweb.com Trucsweb

X

Trucsweb.com Trucsweb

Conditions

Aucun message!

Merci.

X
Aucun message!
X

Trucsweb.com Créer un compte

Créer un compte

.
@