2017-05-30 3 views
1

J'ai besoin d'utiliser/stocker une chaîne de valeurs séparées par un délimiteur (et non pas csv) d'adresses e-mail. Je dois choisir un délimiteur qui est sûr.Délimiteur sécurisé pour les adresses e-mail dsv

E.g. [email protected],[email protected], - virgule dans cet exemple. est dangereux car il est valide dans une adresse e-mail.

Il semble que presque tout is allowed dans une adresse e-mail, surtout maintenant avec internationalized adresses e-mail.

Qu'est-ce qu'un délimiteur de sécurité à utiliser sans sauter à travers les cerceaux à cause des boîtiers d'angle? Je ne peux pas trouver un caractère dans the RFC qui est expressément invalide (mais il y a beaucoup de RFC liés à l'email, donc je ne sais pas lequel consulter).

Répondre

0

J'ai initialement utilisé \ parce que c'est un caractère d'échappement, mais il est autorisé si échappé. @ La réponse de MatWalker recommande des choses comme CR ou LF etc., mais celles-ci sont également autorisées, si elles sont échappées.

L'échappement, le remplacement et l'échappement ont été un peu compliqués. Donc en ce moment j'utilise le caractère de contrôle STX (c'est-à-dire "Début du texte", décimal 2).

Bien que la RFC ne mentionne pas (d'après ce que j'ai vu) si les caractères de contrôle sont valides/invalides, il ne semble pas y avoir quelque chose qui en fasse un mauvais choix. Cela dit que les caractères de contrôle sont "découragés", mais pas interdits pour les champs d'en-tête.

1

Où/comment allez-vous stocker la chaîne et à quoi servira le délimiteur?

Vous pouvez utiliser un caractère ascii non visible tel que CR (Ascii 13) ou Tab (Ascii 9).

+0

Stockage dans une base de données. Comment êtes-vous arrivé à ces caractères? [La spécification] (https://tools.ietf.org/html/rfc5322#section-3.5) mentionne que les caractères de contrôle ascii sont "découragés" pour le corps, mais ne dit rien sur les en-têtes, donc je suppose que ceux-ci sont techniquement autorisés dans une adresse email? Cela n'a pas de sens, certes, mais nous devons nous fier à la spécification formelle. – grokky