ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

thinkphp6短信或者邮箱验证码防刷代码

2021-12-28 23:06:32  阅读:227  来源: 互联网

标签:防刷 register 验证码 thinkphp6 发送 params times email


    //发送邮箱验证码
    public function sendEmailCode(Request $request)
    {




        //接收参数
        $params = $request->param();

        //表单验证
        try {
            validate([
//                'captcha|验证码'  => 'require|captcha',
'route|空间路由地址' => 'require|regex:/^(?!-)((?!--)[0-9a-zA-Z-]){1,39}(?<!-)$/|unique:user|token',
'email|邮箱'     => 'require|email|unique:user',
'password|密码'  => 'require|min:6|max:18'
            ], [
                'route.regex' => "个人空间地址只能为包含字母、数字、或单个连字符(-),且不能以连字符开头或结尾的最大长度为39位的地址",
            ])->check($params);
        } catch (ValidateException $e) {
            return fail($e->getError());
        }


        //验证方式一.限制1分钟内不能重复发送
//        $last_time = cache("register_email_time_" . $params['email']);
//        $countdown = 60;
//        $fds = time() - $last_time;
//        if ($fds < $countdown) {
//            return fail('发送频繁,请 ' . ($countdown - $fds) . ' 秒稍后重试~');
//        }

        //验证方式二:限制ip每天只能发送3次
        $send_times = cache("register_ip_" . $request->ip());
        if ($send_times > 2) {
            return fail('请24小时后再次尝试!22');
        }

        //验证方式三:限制手机号/邮箱每天只能发送3次短信
        $send_times = cache("register_times_" . $params['email']);
        if ($send_times > 2) {
            return fail('请24小时后再次尝试!33');
        }

        //发送验证码
        $code = mt_rand(100000, 999999);
        $body = $code . " 是你的邮箱注册激活码";



        if (sendmail($params['email'], '

标签:防刷,register,验证码,thinkphp6,发送,params,times,email
来源: https://www.cnblogs.com/lujiahao/p/15743153.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有