DedeCMS 禁止某个邮箱域名注册

  • 2019-05-25
  • 108
  • 0
  • 0

最近网站多了很多机器注册的用户,到网上搜集了相关内容也没有关于此类的教程,于是就打算自己写一个。

打开 /member/templets/reg-new.htm 注册页模板发现:

<form class="ui form" method="POST" action="/member/reg_new.php">

POST发送到 /member/reg_new.php

我们打开 reg_new.php 找到注册相关代码:

在154行

        //检测用户名是否存在
        $row = $dsql->GetOne("SELECT mid FROM `#@__member` WHERE userid LIKE '$userid' ");
        if(is_array($row))
        {
            ShowMsg("你指定的用户名 {$userid} 已存在,请使用别的用户名!", "-1");
            exit();
        }
        if($safequestion==0)
        {
            $safeanswer = '';
        }
        else
        {
            if(strlen($safeanswer)>30)
            {
                ShowMsg('你的新安全问题的答案太长了,请控制在30字节以内!', '-1');
                exit();
            }
        }

我们可以在后面添加如下代码来禁止某些邮箱注册:

		// 禁止某些邮箱注册 (added 2019.5.25 by HT)
		$ban_domain = ['mail.com','mail.ru','yandex.ru','taidar.ru'];
		$email_domain = explode('@',$email)[1];
		if(in_array($email_domain,$ban_domain)){
			ShowMsg("您的 Email 域名 ({$email_domain}) 不在允许范围内。", '-1');
            exit();
		}
   

简单修改一些也可以支持仅允许某些邮箱注册

将 in_array 改为 !in_array 即可

评论

还没有任何评论,你来说两句吧

隐藏
变装