將織夢DEDECMS的驗證碼改為數字_DedeCms教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!
      織夢DEDECMS的驗證碼改為數字
      有時我感覺要輸入字母驗證碼的話有點麻煩,如果是數學驗證碼,要方便些,
      因為我們的數學小鍵盤,于是我就想把織夢的驗證碼改成數字驗證碼。
      首先,我們要找到系統的這個驗證碼文件,經過一番尋找,我發現驗證碼文件在include\validateimg.php
       
      打開后找到:
      1. for($i=0;$i<4;$i++) 
      2. ?? $rndstring .chr(mt_rand(65,90)); 
      3.   
      4. 將它改成: 
      5. for($i=0;$i<4;$i++) 
      6. ?? $rndstring .chr(mt_rand(48,57)); 
      這個函數是產生隨機字符,看見里面的數字沒有,它就是要產生字符鍵盤碼的范疇,原來的是
      mt_rand(65,90),這個65到90是大寫字母A到Z的鍵盤碼。
      現在修改為(48,57) 表示0到9的鍵盤碼:mt_rand(48,57)。
       
      按照這個理論,估計能產生中文吧。
       
      還有這個文件里面的
      $bgcolor = ImageColorAllocate($im, 248,212,20);
      $black = ImageColorAllocate($im, 0,0,0);
       
      是設定生成圖片的背景顏色和文字顏色的。三個數字表示 顏色的 紅,綠,藍色值。范疇為0到255,
      比如
      0,0,0 ? 表示 黑色,
      255,0,0 表示純紅,
      0,255,0 表示純綠,
      0,0,255 表示純藍。
      255.255.255 表示白。
       
      修改成統一字體
      1. for($i=0;$i<$rndcodelen;$i++) 
      2. ?? ?imagestring($im, mt_rand(2,5), $i*10+6, mt_rand(2,5), $rndstring[$i], $black); 
      改成
      1. for($i=0;$i<$rndcodelen;$i++) 
      2. ?? ?imagestring($im, 3, $i*10+6, mt_rand(2,5), $rndstring[$i], $black); 
      也就是 imagestring里面第二個參數,修改它為1到5之間的固定數字,這里我覺得修改成3比較漂亮。
       
      參數說明:
      1. int imagestring ( resource image, int font, int x, int y, string s, int col) 
      2.   
      3. imagestring() 用 col 顏色將字符串 s 畫到 image 所代表的圖像的 x,y 座標處(圖像的左上角為 0, 0)。假如 font 是 1,2,3,4 或 5,則使用內置字體。 
      假如不想讓他上下參差,就把坐標y改成固定值3就行了,也就是把 mt_rand(2,5)改成3
      驗證碼為數字加小寫字母組合方式的實現
      //獲取隨機字符
      1. $rndstring = ""
      2. for($i=0;$i<2;$i++){ 
      3. ?? ?$rndstring .chr(mt_rand(48,57)); 
      4. ?? ?$rndstring .chr(mt_rand(97,122)); 
      這樣就可以實現數字+小寫字母了。
      僅供參考。

      查看更多 DedeCms教程  織夢模板  織夢DedeCms視頻教程  織夢dedecms專題

      來源:模板無憂//所屬分類:DedeCms教程/更新時間:2020-06-02
      相關DedeCms教程