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




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

作用简介 主要对会员注册Email进行过滤,验证,指定可以注册的唯一邮箱域;0 j# B7 ~, f- C/ }
比如:会员注册只允许使用163邮箱,xxxx@163.com等。
/ n- K8 b& ^& O- V' v昨天有网友提出这个需求,所以方法就贴出来。# K% E4 [8 V) K, _+ m3 J& J
3 n; x# X% z* ~4 V
方法步骤:
" L" `8 I0 M+ ~) Z+ B; w
" F! u$ }7 b# |7 h" b
打开register.php文件,查找:- z: x! Y5 j, j' N( N+ @

: Z. y, `& Q  K7 u! \
  1. $email = trim($email);
复制代码

/ b; I( E! O- Y
8 W' T  o" h- _+ W/ i
( `* [% p" W  V' U: Q. k0 s9 I( q/ q$ ]8 b8 ~
在下面添加:' p: U, E0 {  q' k: V1 k) B

$ y. [9 K0 r/ r! Q: ~8 ^
  1. $emailcheck = explode('@',$email);
  2. if($emailcheck['1'] !== 'qq.com'){
  3. showmessage('您的邮箱不是QQ邮箱,请使用QQ邮箱注册');
  4. }
复制代码

3 z: O1 c8 P1 k3 m3 }2 d
4 e% X7 _3 g5 {' v- h% R7 o) Y* T( R* N. C( v$ C* f- ?
% p) O4 x& X( w6 w
注意,上面的'qq.com'就是你要指定的注册邮箱,下面的提示信息也可以自己修改。9 j# C* U* M; E& Y8 v4 D& }; k" Y( t

5 [& ]% r+ `8 p8 r$ x$ I4 h  K. p原理解释:首先对register.php获取到的$email变量进行分割,例如,用户填写的邮箱:abcd@163.com,然后由explode函数,以@字符分割成两个字符串存储到数组$emailcheck中,那么$emailcheck['0']就是用户邮箱中的 abcd,$emailcheck['1']就是163.com,然后就可以根据判断是否匹配,从而决定是否允许用户注册,实现邮箱验证过滤!$ C0 ?( a: ~9 s6 \
- G- j( N8 I  s1 {  W- [
另外,此方法的扩展:注册指定某几个、多个邮箱,就是说允许注册邮箱为指定的几种,比如,163邮箱,QQ邮箱,雅虎邮箱等。% Y& [: N/ R& R1 i" U, u' L
扩展的话可以先将这几类邮箱存储一个数组里面,然后判断$emailcheck['1']是否存在于该数组即可!
% \. b+ ?  A; N( Y4 `, D% Z8 `; N# p8 _3 q% Y" d

6 W- R# P- g* S; a8 W5 ^效果演示:; p' w; v, D2 x+ H" D* t4 U. b) \
% ~2 \9 C) @2 [7 Z

  E+ F1 p2 R6 k: K, q) o7 N: X7 m& L2 _2 ~! j$ u
参考:http://bbs.7drc.com/thread-2459-1-1.html

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