加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 为什么filter_var($email,FILTER_VALIDATE_EMAIL)允许tes

发布时间:2020-12-13 17:29:14 所属栏目:PHP教程 来源:网络整理
导读:我只是设置一个表单的验证,我决定尝试使用filter_var函数来检查我的电子邮件地址的有效性.我无法找到什么filter_var实际允许的地方(因为文档很简单),我发现它允许一个电子邮件地址,如test @ test.在域中不必有.com,.net等… 这个行为在四月份左右发生了变化.
我只是设置一个表单的验证,我决定尝试使用filter_var函数来检查我的电子邮件地址的有效性.我无法找到什么filter_var实际允许的地方(因为文档很简单),我发现它允许一个电子邮件地址,如test @ test.在域中不必有.com,.net等…
这个行为在四月份左右发生了变化.见 bug #49576和 revision 297350.

那个电子邮件确实是无效的,至少这是PHP开发人员所理解的.来源提供此通知:

/*
 * The regex below is based on a regex by Michael Rushton.
 * However,it is not identical.  I changed it to only consider routeable
 * addresses as valid.  Michael's regex considers a@b a valid address
 * which conflicts with section 2.3.5 of RFC 5321 which states that:
 *
 *   Only resolvable,fully-qualified domain names (FQDNs) are permitted
 *   when domain names are used in SMTP.  In other words,names that can
 *   be resolved to MX RRs or address (i.e.,A or AAAA) RRs (as discussed
 *   in Section 5) are permitted,as are CNAME RRs whose targets can be
 *   resolved,in turn,to MX or address RRs.  Local nicknames or
 *   unqualified names MUST NOT be used.

changelog提到了这个针对PHP 5.3.3和PHP 5.2.14的错误修复.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读