<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ``` //發送郵箱驗證碼 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'], '?? 您的注冊激活代碼', $body) !== true) { return fail('系統異常,郵件發送失敗~'); } //記錄發送驗證碼的時間,用于驗證1分鐘內無法連續發送,這個有效期無所謂,比一分鐘長就行 Cache::set("register_email_time_" . $params['email'], time(), 65); //記錄手機號發送驗證碼的次數,用于驗證手機號/郵箱一天內發送次數 Cache::remember('register_times_' . $params['email'], 0, 60 * 60 * 24); Cache::inc('register_times_' . $params['email']); //記錄IP的次數,用于IP一天內發送次數 Cache::remember('register_ip_' . $request->ip(), 0, 60 * 60 * 24); Cache::inc('register_ip_' . $request->ip()); //把驗證碼存入緩存中去,注冊的時候需要比對是否正確 Cache::set("register_email_code_" . $params['email'], $code, 60 * 60); //倒計時返回回去是為了做倒計時效果 // return ok(['countdown' => $countdown], "驗證碼發送成功,請前往郵箱接收"); //你的業務代碼 //解鎖 return ok([], "驗證碼發送成功,請前往郵箱接收"); } ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看