Skip to content

Feat/75 35 sécuriser les formulaires en ligne #128

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 14 commits into from
Oct 25, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 0 additions & 56 deletions best-practices-WordPress/fiches/03. Formulaires de contact.md

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
---
title: 35. Sécuriser les formulaires en ligne
people: Catherine G. & Dominique N.
people: Dominique N.
scope: Fonctionnalités
state_validation: To Do
state_validation: Doing
responsible:
- Low-code → Freelance et développeur Front-End d'agences
lifecycle:
Expand All @@ -16,14 +16,43 @@ path: /fiches/35-Securiser-les-formulaires-en-ligne
---

## Sujet
En supplément de la [sécurité globale de votre installation WordPress](#TODO) et pour reprendre les indications de la fiche [Limiter la quantité de données transmise par les formulaires en ligne](/fiches/34. Limiter la quantité de données transmise par les formulaires en ligne.md), il est indispensable de limiter le poids de votre base de données et/ou de limiter le nombre d'emails envoyés depuis vos formulaires en ligne.
Que vous ayez choisi de stocker les données des formulaires dans votre base de données ou de les transmettre par email, les formulaires doivent être sécurisés afin de ne pas permettre aux robots d'envoyer des spams via les formulaires présents sur votre site.

Il existe plusieurs méthodes pour sécuriser les formulaires en lignes : le captcha ou le pot de miel (HoneyPot)
### Le captcha <sup>1</sup>
Le captcha est un système qui permet de vérifier, par une suite de lettres, un calcul, la reconnaissance d'images, etc. que le formulaire en ligne est bien rempli par un être humain.

#### Google reCAPTCHA
reCAPTCHA est un système de détection automatisée d'utilisateurs appartenant à Google et mettant à profit les capacités de reconnaissance de ces derniers, mobilisées par les tests CAPTCHA, pour améliorer par la même occasion le processus de reconnaissance des formes par les robots<sup>2</sup>.

![recaptcha.jpg](medias_35/recaptcha.jpg)

Il en existe de plusieurs types (reconnaissances d'images, de textes, validation automatique par Google).

#### Captcha personnalisé
Vous pouvez ne pas utiliser Google reCAPTCHA, et créer vos propres questions/réponses ou questions mathématiques.

![captcha-calcul.jpg](medias_35/captcha-calcul.jpg)

### Le Pot de miel
La méthode pot de miel est efficace pour éviter les spams. Un champ est ajouté dans le code du site, mais non visible pour les utilisateurs. Ainsi, s'il est rempli, c'est que l'utilisateur est un robot.

## GreenIT vous conseille
- Choisir une extension de gestion des formulaires qui intègre au moins une des méthodes ci-dessus
- Veiller à ce que tous les utilisateurs puissent valider la méthode choisie
- Nettoyer vos données lorsque la méthode choisie n'a pas été efficace (ce qui peut toujours arriver)

## Exemple
> ⚠️ Le Google reCaptcha n'est pas la méthode la plus recommandée :
- elle fait appel à des fichiers sources externes qui sont lourds
- elle n'est pas utilisable par l'ensemble des utilisateurs

## Principe de validation

| Le nombre ... | est inférieur ou égal à |
| Le nombre | est inférieur ou égal à |
| ------------- | :---------------------: |
| de ... | 0 |
| de formulaires non sécurisés | 0 |

## Sources
- Note 1 : https://fr.wikipedia.org/wiki/CAPTCHA
- Note 2 : https://fr.wikipedia.org/wiki/ReCAPTCHA
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.