Sécurité et confidentialité

Lorsque vous créez un formulaire, vous utilisez les données utilisateur. Votre première préoccupation doit être de vous assurer que les données des utilisateurs restent privées et transférées de manière sécurisée. Voyons ce que vous pouvez faire.

Vérifier que votre formulaire est sécurisé

Dans un premier temps, assurez-vous de demander le moins de données possible. Ne demandez pas les données dont vous n'avez pas besoin et demandez toujours si vous avez besoin de toutes les données demandées. Moins de données signifie moins de risques, de coûts et de responsabilité. En outre, réduire le nombre de champs dans un formulaire rend le formulaire moins complexe et plus facile à remplir, et peut réduire les taux d'abandon.

Utilisez toujours le protocole HTTPS, en particulier pour les pages qui incluent un formulaire. Avec HTTPS, les données sont chiffrées lorsqu'elles proviennent du serveur et quand elles y retournent.

Imaginons que vous soyez assis dans un café et que vous utilisiez un réseau Wi-Fi public. Vous ouvrez un site de commerce électronique et saisissez les informations de votre carte de crédit pour effectuer un achat. Si le site Web utilise HTTP, toute personne disposant des compétences nécessaires pour le faire peut voir les informations de votre carte de crédit sur le même réseau Wi-Fi public. Si le site Web utilise HTTPS, les données sont chiffrées et donc protégées contre toute tentative d'accès.

Sur votre site, vous devez également veiller à rediriger toutes les requêtes HTTP vers HTTPS. Découvrez comment rediriger tout le trafic vers HTTPS.

Aider les utilisateurs à préserver la confidentialité de leurs données

Dans le premier module, vous avez découvert deux méthodes possibles pour transférer des données : à l'aide d'une requête GET et d'une requête POST.

Avec une requête GET, les données du formulaire sont incluses sous forme de chaîne de requête dans l'URL de la requête. Si vous envoyez un formulaire qui utilise une requête GET, le navigateur ajoute l'URL de la requête, y compris les données du formulaire, à votre historique de navigation. Pratique si vous souhaitez rechercher d'anciens envois de formulaires, par exemple un formulaire de recherche. Pas génial du tout, si des données sensibles sont envoyées et que toute personne ayant accès à votre historique de navigation ou à votre réseau local peut voir ces informations.

Utilisez les requêtes POST pour chaque formulaire dans lequel des données personnelles ou sensibles peuvent être envoyées. De cette façon, les données ne sont visibles que par le script backend qui les traite.

Qu'en est-il de l'enregistrement et du traitement des données personnelles directement dans le navigateur ? Vous pouvez utiliser un espace de stockage client, par exemple localStorage, pour stocker des données à caractère personnel dans le navigateur. En ce qui concerne la confidentialité, cette situation n'est pas idéale. Encore une fois, toute personne ayant accès à votre navigateur peut lire ces informations. Vous ne devez stocker que des valeurs chiffrées pour les données personnelles.

Assurez-vous que les utilisateurs peuvent s'inscrire et se connecter de manière sécurisée

L'authentification des comptes utilisateur est un problème complexe en termes de confidentialité et de sécurité. Il peut être préférable d'utiliser un fournisseur d'identité tiers plutôt que de créer votre propre système d'authentification sécurisé.

Découvrez les bonnes pratiques pour l'authentification des comptes et la gestion des mots de passe.

Aider les utilisateurs à accéder à leurs données à caractère personnel

De nombreuses régions ont des lois et des règlements concernant la protection et la confidentialité des données, y compris la CCPA en Californie et la PDPA en Inde. Tous les sites Web disponibles dans l'Union européenne (UE) doivent respecter le Règlement général sur la protection des données (RGPD), même s'ils ne sont pas basés dans l'UE.

Le RGPD définit des lignes directrices pour la collecte et le traitement des informations personnelles des personnes résidant dans l'UE. Le consentement est requis pour traiter les données à caractère personnel, les utilisateurs peuvent à tout moment demander des informations personnelles que vous stockez, et vous devez annoncer officiellement les fuites de données. C'est une bonne chose pour l'utilisateur, car cela permet de garantir le respect de sa vie privée. En savoir plus sur le RGPD

Assurez-vous que vos utilisateurs savent comment vous prévoyez de traiter les données à caractère personnel. La transparence est la clé de la confiance. Les utilisateurs doivent toujours pouvoir accéder à toutes les données que vous avez enregistrées pour eux, les modifier et les supprimer.

S'assurer que les utilisateurs peuvent mettre à jour leurs données à caractère personnel

Permettre aux utilisateurs de mettre à jour facilement leurs données à caractère personnel, y compris les mots de passe, les adresses e-mail et les noms d'utilisateur. Avertissez les utilisateurs des modifications apportées à leurs données personnelles stockées et assurez-vous qu'ils peuvent révoquer les modifications. Par exemple, envoyez un e-mail à l'ancienne et à la nouvelle adresse e-mail une fois que les utilisateurs ont modifié leur adresse e-mail.

Permettre aux utilisateurs de supprimer facilement leur compte, y compris toutes les données associées, et, le cas échéant, de permettre le téléchargement des données La suppression de compte est une obligation légale dans certaines régions.

Exigez une étape d'authentification supplémentaire, par exemple une nouvelle saisie du mot de passe actuel, pour afficher ou modifier les informations personnelles sur votre site.

Pour en savoir plus, consultez les bonnes pratiques concernant la confidentialité des applications Web.

S'assurer que toutes les données sont au bon état

Dans un module précédent, vous avez découvert la validation sur l'interface. La validation de l'interface est importante, mais les utilisateurs peuvent toujours envoyer des données non valides. L'étape suivante consiste à valider également les données sur le backend avant de les enregistrer dans votre base de données. Cela garantit qu'aucune donnée non valide n'est enregistrée dans votre base de données.

La validation permet de s'assurer que le format des données est valide, mais vous ne devez toujours pas faire confiance aux données saisies par les utilisateurs. Comment pouvez-vous générer les données en toute sécurité ? Pour éviter les scripts intersites (XSS) et vous assurer que toutes les données peuvent être incluses dans le code HTML, vous devez nettoyer les données avant de générer des résultats.

Apprenez-en plus sur le nettoyage des données avant la sortie et, si possible, sur l'API Sanitizer.

S'assurer que toutes les demandes émanent de personnes réelles

Pour vous aider à protéger vos données, vous disposez de plusieurs options pour empêcher l'envoi de spam par les robots.

La première option consiste à utiliser un service tel que reCAPTCHA pour faire la distinction entre les personnes réelles et les bots. Pour ce faire, vous devez inclure un extrait de code JavaScript sur votre page et ajouter des attributs supplémentaires à votre bouton Envoyer.

reCAPTCHA effectue plusieurs vérifications pour déterminer si vous êtes un être humain. Par exemple, il peut vous demander d'identifier des images. Les logiciels automatisés, comme les bots, ne peuvent pas résoudre ces problèmes ni envoyer le formulaire.

Un pot de miel

Vous pouvez également utiliser un champ de formulaire masqué visuellement, appelé "pot de miel". Les humains ne verront pas un champ de pot de miel, mais les robots le rempliront. Sur le backend, votre script de traitement peut vérifier si le champ a été rempli. Si c'est le cas, l'envoi provient probablement d'un bot et vous pouvez l'ignorer.

Il existe également des services comme Akismet qui peuvent vous aider à vous protéger contre le spam. Le filtre Akismet combine les informations concernant le spam capturés sur tous les sites participants, puis utilise ces règles antispam pour bloquer le spam à l'avenir. Akismet est transparent pour l'utilisateur et détecte la plupart des spams.

Testez vos connaissances

Testez vos connaissances sur la sécurité et la confidentialité

Quelle est la méthode privilégiée pour transférer des données personnelles à l'aide de formulaires ?

Une requête POST.
🎉
Un pigeon porteur.
Essayez encore.
Une requête GET.
Essayez encore.
HTTPS
Essayez encore.

Comment éviter le spam ?

CAPTCHA
🎉
Champ de formulaire Honeypot.
🎉
les services de lutte contre le spam ;
🎉
Ne servir que des formats végétariens.
Essayez encore.

Ressources