Quali sono i motivi di sicurezza per non consentire l'accesso più agli indirizzi email?

109

La mia domanda si basa su questo tweet dopo che ho commentato sulla proibizione dei simboli + negli indirizzi email. Il tweet dice: "Questa è una misura che abbiamo preso per ragioni di sicurezza".

Questo può essere frustrante e scomodo per le persone che hanno (o usano) più segni nel loro indirizzo email, e sono sicuro che i siti web non intendono farlo. Non sono a conoscenza delle vulnerabilità di sicurezza legate all'utilizzo del carattere + ; è qualcosa che dovrei cambiare per migliorare la mia sicurezza? Qual è il motivo di sicurezza per un sito web di non consentire quel personaggio su un campo di posta elettronica?

Aggiornamento: il supporto Meetup ha risposto positivamente. Si scopre che si tratta più di un problema UX che di uno di sicurezza. Hanno chiarito in questo tweet che non consentono + di impedire spam (?) E ha riconosciuto un suggerimento per migliorare l'esperienza dell'utente. (Il mio intento qui non era di lamentarsi di Meetup, cerchiamo di essere gentili! Volevo essere sicuro che non mi mancasse qualcosa di importante nei miei siti web che ricevono indirizzi email.)

    
posta Matt 12.08.2014 - 20:37
fonte

4 risposte

87

Non esiste una vulnerabilità di sicurezza di per sé con un "+" nel tuo indirizzo email. È consentito come RFC 2822 e non particolarmente utile per SQL o altre forme di iniezione comuni.

Tuttavia, molti sistemi (chiamiamolo sistema Meetup per questo scopo) rafforzano la sicurezza tramite la whitelist, non la lista nera. Qualcuno ha definito un elenco limitato di caratteri che si aspettava di vedere negli indirizzi e-mail (probabilmente in alto, in basso, numerico,., _, E -) e ha scritto un filtro per bloccare qualsiasi cosa al di fuori di quella lista. E non pensavano che qualcuno avrebbe usato +, quindi sei sfortunato.

Questo articolo descrive come per impostare Postfix per taggare e per usare '-' invece di '+' perché:

However, during a recent discussion on the Postfix user list, it was mentioned that some websites (particularly banks) use JavaScript to try and validate email addresses when they are entered into online forms, and that many don’t allow the plus symbol as a valid character in an email address.

Sono passato da "+" a "-" più di dieci anni fa, per ragioni simili.

    
risposta data 12.08.2014 - 21:32
fonte
76

Probabilmente sono incompetenti e potrebbero anche non sapere che ti stanno mentendo.

Da un punto di vista della convalida dell'input, non hanno una gamba su cui stare; esiste un set specifico di RFC che descrive in modo solido il formato di un indirizzo email valido . Anche se un indirizzo e-mail è tecnicamente non valido in base alla RFC, potrebbe comunque essere possibile recapitarla comunque. Puoi verificare che un indirizzo email sia consegnabile inviandoci una mail con un link univoco per il proprietario su cui fare clic.

Come dice il sito collegato:

Sadly, many websites won't let you register an address with a plus sign in it. Not because they are trying to defeat your tracking strategy but just because they are crap. They've copied a broken regular expression from a dodgy website and they are using it to validate email addresses. And losing customers as a result.

Anche supponendo che abbiano un codice completamente rotto e stiano utilizzando un validatore di crap perché incollano letteralmente l'indirizzo email convalidato in una shell UNIX, che ancora non fornisce un motivo valido per cui% il valore dijoe.bloggs+meetup.com.better.not.sell.this.to.spammers@example.com deve essere considerato non valido.

Non vi sono validi motivi di sicurezza per vietare l'uso di + negli indirizzi email. Anche se gli spammer lo utilizzano come metodo a basso costo per creare più account, i siti Web possono facilmente verificare se qualcuno ha effettuato l'iscrizione sia come [email protected] che [email protected] ; se Joe Bloggs abusa del loro servizio, può facilmente vietare entrambi i conti. Chiunque disponga di un proprio server di posta può generare indirizzi email validi come [email protected] , [email protected] . Non ottengono ulteriore sicurezza proibendo l'uso di + .

    
risposta data 12.08.2014 - 21:53
fonte
18

Come altri hanno sottolineato, non ci sono motivi di sicurezza reali per non consentire un segno più nell'indirizzo email.

Essendo uno sviluppatore web, la ragione principale alla quale posso pensare è di impedire agli utenti di effettuare più registrazioni usando diversi alias, specialmente su un sito di E-commerce in cui hai una sola offerta gratuita che vuoi limitare a ogni individuale.

Dal punto di vista di un amministratore di database, è necessario eseguire una query aggiuntiva sul database se si desidera accettare il simbolo più e allo stesso tempo limitare la registrazione di e-mail a un alias per indirizzo e-mail. In caso contrario, l'impostazione della chiave UNIQUE sull'indirizzo email sarebbe sufficiente per evitare un INSERT se l'indirizzo email è un duplicato.

Le ragioni di cui sopra sono una combinazione di decisioni tecniche e commerciali che non sarebbero facilmente spiegabili in una linea di parole. Se stai usando un alias nel tuo indirizzo email, una soluzione semplice è quella di eliminare quella parte per registrarti.

    
risposta data 13.08.2014 - 07:59
fonte
-1

L'unica ragione di sicurezza che posso pensare è che stanno usando espressioni regolari per elaborare le e-mail e il loro software è una schifezza, non sfugge correttamente gli indirizzi e colpiscono gli errori. Forse è un'ipotesi, ma ho riscontrato problemi relativi agli indirizzi email con + ed espressioni regolari. In ogni caso, la conclusione è che questi siti sono schifo.

    
risposta data 13.08.2014 - 19:56
fonte

Leggi altre domande sui tag