2017-05-30 2 views
1

Ich muss eine Trennzeichen getrennte Zeichenfolge (nicht CSV) von E-Mail-Adressen verwenden/speichern. Ich muss ein Trennzeichen wählen, das sicher ist.Sicheres Trennzeichen für DSV von E-Mail-Adressen

z. [email protected],[email protected], - Komma in diesem z.B. ist unsicher, da es innerhalb einer E-Mail-Adresse gültig ist.

Es scheint, dass fast alles is allowed in einer E-Mail-Adresse, vor allem jetzt mit internationalized E-Mail-Adressen.

Was ist ein sicheres Trennzeichen, das verwendet werden kann, ohne durch Ringe springen zu müssen? Ich kann keinen Charakter in the RFC finden, der ausdrücklich ungültig ist (aber es gibt viele E-Mail in Verbindung stehende RFCs, also bin ich nicht sicher, welcher zu konsultieren).

Antwort

0

Ich verwendete ursprünglich \, denn das ist ein Escape-Zeichen, aber es ist erlaubt, wenn Escape. @ MatWalker Antwort empfiehlt Sachen wie CR oder LF usw., aber diese sind auch erlaubt, wenn sie entkommen sind.

Escape und Ersetzen und Unescaping wurde ein bisschen kompliziert. Jetzt verwende ich das Steuerzeichen STX (d. H. "Start of Text", dezimal 2).

Obwohl der RFC (aus dem was ich gesehen habe) nicht erwähnt, ob Kontrollzeichen gültig/ungültig sind, scheint es nichts zu geben, was es zu einer schlechten Wahl macht. Es heißt, dass Steuerzeichen "entmutigt", aber nicht für Header-Felder verboten sind.

1

Wo/wie werden Sie die Zeichenfolge speichern und wofür wird das Trennzeichen verwendet?

Sie können ein nicht sichtbares ASCII-Zeichen wie CR (Ascii 13) oder Tab (Ascii 9) verwenden.

+0

Speichern in einer Datenbank. Wie bist du zu diesen Zeichen gekommen? [Die Spezifikation] (https://tools.ietf.org/html/rfc5322#section-3.5) erwähnt, dass ASCII-Kontrollzeichen für den Körper "entmutigt" sind, sagt aber nichts über die Header aus, also gehe ich davon aus sind technisch in einer E-Mail-Adresse erlaubt? Das macht zugegebenermaßen keinen Sinn, aber wir müssen uns auf die formale Spezifikation verlassen. – grokky