$7.49 .com domain with free InstantPage Website Builder$1.99 Web Hosting   捷飞网络官方淘宝店   Godaddy 优惠码
返回列表 发帖
分享到:




用户注册时电子邮箱(Email)过滤及验证 For Discuz!7.0

作用简介 主要对会员注册Email进行过滤,验证,指定可以注册的唯一邮箱域;" {, O3 _. T- L3 [
比如:会员注册只允许使用163邮箱,xxxx@163.com等。
' B* m% ^3 p8 i, h昨天有网友提出这个需求,所以方法就贴出来。
! O+ B6 f) n1 q! b) ^3 R2 R; F( S! z6 i9 M6 _" c
方法步骤:
6 D" z. X5 @8 g- C3 }$ B! [/ U. t! p4 j. w
打开register.php文件,查找:
- T  h; A; G% m9 `4 k( Y  H
- O/ l  ~/ j" V$ A
  1. $email = trim($email);
复制代码
/ \) N! s8 q7 }; O. Q$ O
- d# C3 E8 h4 R

& _! G! i/ P8 J; X7 d: K) W2 E  {! A' W5 O- k! c7 ]$ K. k: B2 J
在下面添加:) Q: B% h1 z% l2 y( W
) Y6 Q$ |, _3 P; f
  1. $emailcheck = explode('@',$email);
  2. if($emailcheck['1'] !== 'qq.com'){
  3. showmessage('您的邮箱不是QQ邮箱,请使用QQ邮箱注册');
  4. }
复制代码
+ O8 ]" V2 T$ z  q- H
/ J+ y/ M+ _1 j" e; r+ R  o
$ v& O! L. g# t6 ]" \- ^( g
$ s$ \* v5 o- |% `% n+ H9 r8 d
注意,上面的'qq.com'就是你要指定的注册邮箱,下面的提示信息也可以自己修改。' h2 }$ {- x/ n7 A4 v, }

7 {7 J+ x* d- K( O+ j原理解释:首先对register.php获取到的$email变量进行分割,例如,用户填写的邮箱:abcd@163.com,然后由explode函数,以@字符分割成两个字符串存储到数组$emailcheck中,那么$emailcheck['0']就是用户邮箱中的 abcd,$emailcheck['1']就是163.com,然后就可以根据判断是否匹配,从而决定是否允许用户注册,实现邮箱验证过滤!
, `; K' P% ~# A. I- j
0 V) M. Y) L0 x3 G+ n5 j0 v% U1 H另外,此方法的扩展:注册指定某几个、多个邮箱,就是说允许注册邮箱为指定的几种,比如,163邮箱,QQ邮箱,雅虎邮箱等。% t5 ^& R6 P  E9 y
扩展的话可以先将这几类邮箱存储一个数组里面,然后判断$emailcheck['1']是否存在于该数组即可!
0 m6 l& N2 D( g5 Z9 w2 u; y7 v% W
& o6 d6 b; _: v, y* [2 W8 H
9 Z* J$ k7 l/ M1 J) p( F+ K效果演示:
# a/ S. \* d3 _0 _/ _* c- \1 l4 R, [$ @
" @0 ^2 ~$ c" Z/ j* o6 e8 J
2 s% n# T8 p  e
参考:http://bbs.7drc.com/thread-2459-1-1.html




返回列表
Namecheap
Namecheap.com - Cheap domain name registration, renewal and transfers - Free SSL Certificates - Web Hosting
互联网安全