3

先日、最新のWebサイトの一般的な検証の欠陥に簡単に触れた記事を読んだので、それについて調査することにしました。

結局のところ、ほとんどのWebサイト、および電子メールプロバイダー(hotmail、yahoo)は、検証が厳しすぎています。

-

RFC2821のセクション2.3.10

その結果、中間ホストがトランスポートを変更して最適化しようとしたときの問題の長い歴史のために、ローカル部分は、アドレスのドメイン部分で指定されたホストによってのみ解釈され、セマンティクスが割り当てられる必要があります。

RFC 2822のセクション3.4.1で、ユーザーが解釈する文字列がどうあるべきかについてさらに詳しく説明します。

addr-specは、ローカルで解釈される文字列、アットマーク文字( "@"、ASCII値64)、インターネットドメインを含む特定のインターネット識別子です。ローカルで解釈される文字列は、引用符で囲まれた文字列またはドットアトムのいずれかです。

RFC 2822のセクション3.2.4で、最後に、ドットアトムには次の文字のいずれかが含まれる可能性があることを示しています

$&*-= ^ `| 〜#%'+ /?_ {}

RFC 3696では、さらに有効な電子メールのリストを表示します。

  • "Abc \ @def" @ example.com
  • 「FredBloggs」@example.com
  • "Joe \ Blow" @ example.com
  • "Abc @ def" @ example.com
  • customer / department = shipping @ example.com
  • $ A12345@example.com
  • !def!xyz%abc@example.com
  • _somename@example.com

さて、皆さんへの私の質問です。メールをどの程度厳密に検証する必要がありますか。RCFによると?または群衆によると。そして、そこにいる大多数の人々も検証していますか?

4

1 に答える 1

2

私は通常、正規表現を使用してメールを検証します。regular-expressions.infoには、RFC2822に準拠することになっている正規表現を含む優れたページがあります。

もう1つの質問は、どのISPが次のような電子メールアドレスを許可するかです:!def!xyz%abc @ example.com、customer / department = shipping @ example.com、 "Fred Bloggs" @ example.com?あるとしても、ごくわずかだと思います。これらの奇妙なケースはめったに使用されないので、心配する必要はないと思います(私の知る限り、これらのフォームのアドレスが使用されているのを見たことがありません)。

于 2010-07-21T14:19:53.867 に答える