web-dev-qa-db-fra.com

Quelles sont les raisons de sécurité pour refuser les adresses e-mail de connexion plus?

Ma question est basée sur ce Tweet après avoir commenté l'interdiction + symboles dans les adresses e-mail. Le Tweet dit: "C'est une mesure que nous avons prise pour des raisons de sécurité."

Cela peut être frustrant et gênant pour les personnes qui ont (ou utilisent) plus des signes dans leur adresse e-mail, et je suis sûr que les sites Web n'ont pas l'intention de le faire. Je ne connais pas les failles de sécurité liées à l'utilisation de + personnage; est-ce quelque chose que je devrais changer pour améliorer ma propre sécurité? Quelle est la raison de sécurité d'un site Web pour interdire ce caractère dans un champ de messagerie?

Mise à jour: Le support Meetup a répondu positivement. Il s'avère que c'est plus un problème UX qu'un problème de sécurité. Ils ont précisé dans ce Tweet qu'ils interdisent + pour éviter le spam (?) et ils ont reconnu une suggestion pour améliorer l'expérience utilisateur. (Mon intention ici n'était pas de me plaindre de Meetup; soyons doux! Je voulais m'assurer que je ne manquais pas quelque chose d'important dans mes propres sites Web qui reçoivent des adresses e-mail.)

116
Matt

Il n'y a pas de vulnérabilité de sécurité en soi avec un "+" dans votre adresse e-mail. Il est autorisé selon RFC 2822 , et n'est pas particulièrement utile pour SQL ou d'autres formes courantes d'injection.

Cependant, de nombreux systèmes (appelons Meetup un système à cet effet) appliquent la sécurité via une liste blanche, et non une liste noire. Quelqu'un a défini une liste limitée de caractères qu'il s'attendait à voir dans les adresses e-mail (probablement supérieur, inférieur, numérique,., _ Et -) et a écrit un filtre pour bloquer tout ce qui se trouve en dehors de cette liste. Et ils ne pensaient pas que quiconque utiliserait +, alors vous n'avez pas de chance.

Cet article décrit comment configurer Postfix pour taguer et utiliser '-' au lieu de '+' car:

Cependant, lors d'une récente discussion sur la liste des utilisateurs de Postfix, il a été mentionné que certains sites Web (en particulier les banques) utilisent JavaScript pour essayer de valider les adresses e-mail lorsqu'elles sont saisies dans des formulaires en ligne, et que beaucoup n'autorisent pas le symbole plus en tant que caractère valide dans une adresse e-mail.

Je suis passé de "+" à "-" il y a plus de dix ans, pour des raisons similaires.

94
gowenfawr

Ils sont probablement incompétents et ne savent peut-être même pas qu'ils vous mentent.

Du point de vue de la validation des entrées, ils n'ont aucune jambe sur laquelle se tenir; il existe un ensemble spécifique de RFC qui décrivent de manière robuste le format d'une adresse e-mail valide . Même si une adresse e-mail est techniquement invalide selon la RFC, il peut toujours être possible de lui envoyer du courrier. Vous pouvez vérifier qu'une adresse e-mail est livrable en lui envoyant un courrier avec un lien unique sur lequel le propriétaire peut cliquer.

Comme le dit le site lié:

Malheureusement, de nombreux sites Web ne vous permettent pas d'enregistrer une adresse avec un signe plus. Pas parce qu'ils essaient de vaincre votre stratégie de suivi, mais simplement parce qu'ils sont de la merde. Ils ont copié une expression régulière cassée d'un site Web douteux et ils l'utilisent pour valider les adresses e-mail. Et perdre des clients en conséquence.

Même si nous supposons qu'ils ont un code complètement cassé et qu'ils utilisent un validateur de merde parce qu'ils collent littéralement l'adresse e-mail validée dans un shell UNIX, cela reste ne fonctionne pas ne donnez pas de raison valable pour laquelle joe.bloggs+meetup.com.better.not.sell.this.to.spammers@example.com doit être considéré comme non valide.

Il n'y a aucune raison de sécurité valable d'interdire l'utilisation de + dans les adresses e-mail. Même si les spammeurs l'utilisent pour créer plusieurs comptes à faible coût, les sites Web peuvent facilement voir si quelqu'un s'est inscrit à la fois en tant que [email protected] et [email protected]; si Joe Bloggs abuse de son service, il peut facilement interdire les deux comptes. Toute personne disposant de son propre serveur de messagerie peut générer des adresses e-mail valides comme [email protected], [email protected]. Ils ne gagnent aucune sécurité supplémentaire en interdisant l'utilisation de +.

80
Stuart Caie

Comme d'autres l'ont souligné, il n'y a pas de vraies raisons de sécurité pour refuser une adresse e-mail de connexion plus.

En tant que développeur Web, la principale raison pour laquelle je peux penser est d'empêcher les utilisateurs de faire plusieurs enregistrements en utilisant différents alias, en particulier sur un site Web de commerce électronique où vous avez une offre gratuite unique que vous souhaitez limiter à chaque individu.

Du point de vue d'un administrateur de base de données, une requête supplémentaire doit être effectuée sur la base de données si vous souhaitez accepter le symbole plus et en même temps limiter l'enregistrement des e-mails à un alias par adresse e-mail. Sinon, la définition de la clé UNIQUE sur l'adresse e-mail serait suffisante pour empêcher une INSERT si l'adresse e-mail est en double.

Les raisons ci-dessus sont une combinaison de décisions techniques et commerciales qui ne s'expliqueraient pas facilement dans une ligne de mots. Si vous utilisez un alias dans votre adresse e-mail, une solution simple consiste à déposer cette partie afin de vous inscrire.

18
Question Overflow