<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>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ## 驗證碼 MixPHP 的驗證碼類并沒有像其他框架一樣設計成非常耦合的方式,使用戶無法了解驗證碼實現原理,而是讓驗證碼回歸原始,只做驗證碼生成, 其他交互功能由框架組件來完成。 | 類 | 調用 | | --- | --- | | mix\http\Captcha | new Captcha([配置]); | ## 控制器 (輸出) 在控制器的方法中輸出驗證碼圖片,微調 `angleRand`、`xSpacing`、`yRand` 三個參數可調整文字的相對位置,驗證碼中的文字越是粘連越難以破解。 ### 英文驗證碼 >[danger] `TimesNewRomanBold.TTF` 英文字體文件框架內不包含,需用戶自行下載。 ~~~ public function actionIndex() { Response::setHeader('Content-Type', 'image/png'); $captcha = new Captcha([ 'width' => 100, 'height' => 40, 'fontFile' => app()->basePath . '/fonts/TimesNewRomanBold.TTF', 'fontSize' => 20, 'wordNumber' => 4, 'angleRand' => [-20, 20], 'xSpacing' => 0.82, 'yRand' => [5, 15], ]); $captcha->generate(); Session::set('captchaText', $captcha->getText()); return $captcha->getContent(); } ~~~ ### 中文驗證碼 >[danger] `SIMLI.TTF` 中文字體文件框架內不包含,需用戶自行下載。 ~~~ public function actionIndex() { Response::setHeader('Content-Type', 'image/png'); $captcha = new Captcha([ 'width' => 100, 'height' => 40, 'fontFile' => app()->basePath . '/fonts/SIMLI.TTF', 'fontSize' => 22, 'wordSet' => '酸舊卻充秋遍鍛玉夏療尖殖井費州訪吹榮銅沿替滾客召旱悟刺腦措貫藏敢令隙爐殼硫煤迎鑄粘探臨薄旬善福縱擇禮愿伏殘雷延煙句純漸耕跑澤慢栽魯赤繁境潮橫掉錐希池敗船假亮謂托伙哲懷割擺貢呈勁財儀沉煉麻罪祖息車穿貨銷齊鼠抽畫飼龍庫守筑房歌寒喜哥洗蝕廢納腹乎錄鏡婦惡脂莊擦險贊鐘搖典柄辯竹谷賣亂虛橋奧伯趕垂途額壁網截野遺靜謀弄掛課鎮妄盛耐援扎慮鍵歸符慶聚繞摩忙舞遇索顧膠羊湖釘仁音跡碎伸燈避泛亡答勇頻皇柳哈揭甘諾概憲濃島襲誰洪謝炮澆斑訊懂靈蛋閉孩釋乳巨徒私銀伊景坦累勻霉杜樂勒隔彎績招紹胡呼痛峰零柴簧午跳居尚丁秦稍追梁折耗堿殊崗挖氏刃凸役剪川雪鏈漁啦臉戶洛孢勃盟買楊宗焦賽旗濾硅缸夾念蘭映溝乙嗎儒殺汽磷艱晶插埃燃歡鐵補咱芽永瓦傾陣碳演威附牙芽永瓦斜灌歐獻順豬洋腐請透司危括脈宜笑若尾束壯暴企菜穗楚漢愈綠拖牛份染穩奪硬價努翻奇甲預職評讀泥辟告卵箱掌氧恩愛停曾溶營終綱孟錢待盡俄縮沙退陳討炭股坐蒸凝竟陷槍黎救冒暗洞犯筒您宋淡允叛畜俘摸銹掃畢璃寶芯爺鑒秘凈蔣鈣肩騰枯拋軌堂拌爸循誘祝勵肯酒繩窮塘燥泡袋朗喂鋁軟渠顆慣貿糞綜墻趨彼屆墨礙啟逆卸航衣孫齡嶺騙休借們以我到他會作時要動國產的一是工就年階義發成部民可出能方進在了不和有餓', 'wordNumber' => 3, 'angleRand' => [-20, 20], 'xSpacing' => 0.85, 'yRand' => [5, 10], ]); $captcha->generate(); Session::set('captchaText', $captcha->getText()); return $captcha->getContent(); } ~~~ ## 視圖 (引用) 在視圖中使用 `img` 標簽,在 `src` 屬性中指向驗證碼控制器方法的 URL 地址。 ~~~ <img src="/captcha" height=38> ~~~ ## 驗證器 (驗證) 用戶提交驗證碼后需要在驗證器中驗證,使用驗證規則 `call` 來自定義驗證。 1. 首先定義規則、場景、消息。 ~~~ // 規則 public function rules() { return [ 'captcha' => ['call', 'callback' => [$this, 'captchaCheck']], ]; } // 場景 public function scenarios() { return [ 'index' => ['required' => ['captcha']], ]; } // 消息 public function messages() { return [ 'captcha' => '驗證碼不正確.', ]; } ~~~ 2. 增加 `captchaCheck` 方法 ~~~ public function captchaCheck($attributeValue) { $captchaText = Session::get('captchaText'); if (strcasecmp($attributeValue, $captchaText) == 0) { return true; } return false; } ~~~
                  <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>

                              哎呀哎呀视频在线观看