2010-07-21 20 views
2

我前幾天讀過一篇文章,簡單地介紹了基於大多數現代網站中常見的驗證缺陷,並決定對此進行一些研究。驗證電子郵件的常見做法?

原來,MOST網站和電子郵件提供商(hotmail,yahoo)對他們的驗證過於嚴格。

-

在RFC的部分2.3.10 2821

因此,並且由於問題很長的歷史,當中間宿主已經嘗試通過修改它們,以優化傳輸,所述局地部分必須由地址的域部分中指定的主機解釋和分配語義。

在第RFC 2822 3.4.1它會進入更詳細地向用戶解釋字符串應該是什麼!

addr-spec是一個特定的Internet標識符,其中包含一個本地解釋的字符串,後面跟隨帶有符號字符(「@」,ASCII值爲64)和一個Internet域。本地解釋的字符串是帶引號的字符串點原子

在RFC 2822而finnally的第3.2.4節,告訴我們的點原子可以包括以下任何字符的

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

在RFC 3696它進一步顯示有效的電子郵件列表。

現在,我的問題所有你們在那裏,我應該如何嚴格驗證電子郵件。根據RCF?或根據人羣。那麼大多數人在哪裏驗證呢?

+0

您正在驗證電子郵件內容或電子郵件地址或其他字段(來自主題)嗎? – DOK 2010-07-21 14:17:50

+0

@DOK:我正在談論使用正則表達式模式或其他方法來查看電子郵件是否有效的網站。 – caesay 2010-07-21 14:19:25

回答

1

我通常使用正則表達式來驗證電子郵件。 regular-expressions.info有一個good page,包括一個應該符合RFC 2822的正則表達式。

另一個問題是哪個ISP允許電子郵件地址,如:def!xyz%abc @示例。com,customer/[email protected],「Fred Bloggs」@ example.com?我懷疑很少,如果有的話。我認爲你不必擔心這些奇怪的情況,因爲它們很少被使用(據我所知 - 我從未見過這些表單正在使用的地址)。