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




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

作用简介 主要对会员注册Email进行过滤,验证,指定可以注册的唯一邮箱域;. G9 C5 A" n" a6 {- c- m# Z. b
比如:会员注册只允许使用163邮箱,xxxx@163.com等。7 [" u6 x* [' B) ^
昨天有网友提出这个需求,所以方法就贴出来。
; ^1 [: n* u7 _8 j' e' Q0 Y
% @+ s' p! v2 f方法步骤:1 q; b% d' N8 b8 P5 l

. i- X, E4 q8 i6 @
打开register.php文件,查找:
* F' A/ Y$ ^, ^$ o% I
2 G: s7 F& [5 G' \0 O! N
  1. $email = trim($email);
复制代码

8 q  I, Q% F8 Y( L. S0 B) q( C/ ^; w
2 w: O* B9 ~1 o7 m: Z2 ?
  T+ J8 i" ^0 G9 c) [2 O2 m
7 y* E, K8 O( i$ w在下面添加:
/ h7 h1 j4 u) v1 a" q- n% f+ f7 o1 j* C2 w- e9 F8 @  r  C# a- {
  1. $emailcheck = explode('@',$email);
  2. if($emailcheck['1'] !== 'qq.com'){
  3. showmessage('您的邮箱不是QQ邮箱,请使用QQ邮箱注册');
  4. }
复制代码

; q: g( r# l# R* D% S4 f% T" S$ z

! i0 t+ o: E! q% [5 F
- Z$ A6 x6 S3 X- ]; d3 R5 Q注意,上面的'qq.com'就是你要指定的注册邮箱,下面的提示信息也可以自己修改。1 B; q% S9 D- G- g  i  n

2 ~! W- {, z! q% c原理解释:首先对register.php获取到的$email变量进行分割,例如,用户填写的邮箱:abcd@163.com,然后由explode函数,以@字符分割成两个字符串存储到数组$emailcheck中,那么$emailcheck['0']就是用户邮箱中的 abcd,$emailcheck['1']就是163.com,然后就可以根据判断是否匹配,从而决定是否允许用户注册,实现邮箱验证过滤!0 N% p5 A$ K$ {4 H# d, P  M

! B5 H9 f8 P. p% ]- U2 L& i另外,此方法的扩展:注册指定某几个、多个邮箱,就是说允许注册邮箱为指定的几种,比如,163邮箱,QQ邮箱,雅虎邮箱等。! H& e: V9 [0 R, n' U9 w8 Y7 k
扩展的话可以先将这几类邮箱存储一个数组里面,然后判断$emailcheck['1']是否存在于该数组即可!/ N$ B. T* g: {% @  [

# O6 f, t, @9 b2 C, g* e8 e3 ]+ q
2 U' N4 ]- Z  I3 B) B% G1 J9 S效果演示:  u, |' T5 }+ }. x! |

$ v/ t2 \' e7 q( w1 k
# h" A/ d# o' t- R/ Q0 s' `$ s4 A! g7 j  O, ], ]
参考:http://bbs.7drc.com/thread-2459-1-1.html

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