ホームページ  >  記事  >  バックエンド開発  >  PHP ci フレームワーク検証コード例分析_PHP チュートリアル

PHP ci フレームワーク検証コード例分析_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:02:35791ブラウズ

php コード:

コードをコピー コードは次のとおりです:

class Captcha_code
{
var $width='60';
var $num='4';
var $ height=' 20';
var $name='randcode';
public function __construct($conf="")
{
if($conf!="")
{
foreach($conf as $key=> ;$value )
{
$this->$key=$value;
}
}
}

function show()
{
Header("Content-type: image/gif");
/*
* 初期化
*/
$border = 0; // ボーダー 1 が必要ですか? はい: 0 いいえ
$how = $this->num; // 検証コードの桁数
$w = $this->width; //画像の幅
$this->height; //画像の高さ
$fontsize = 5; //フォントサイズ
$alpha = "abcdefghijkmnopqrstuvwxyz" //検証コードの内容 1: 文字
$number = "; 023456789"; //検証コード内容2:Number
$randcode = ""; //検証コード文字列初期化
srand((double)microtime()*1000000); //乱数シードの初期化

$im = ImageCreate ($w, $h); //検証画像を作成

/*
* 基本フレームを描画
*/
$bgcolor = ImageColorAllocate($im, 255, 255, 255) // 背景色を設定
ImageFill ($im, 0, 0, $bgcolor); //背景色を塗りつぶします
if($border)
{
$black = ImageColorAllocate($im, 0, 0, 0) // 境界線の色を設定します
ImageRectangle ($im, 0, 0, $w-1, $h-1, $black);// 境界線を描画します
}

/*
* ランダムな文字を少しずつ生成します
*/
for($i= 0; $i $alpha_or_number = mt_rand(0, 1); //文字または数字
$​​str = $alpha : $number;
$that = mt_rand? strlen($str)-1); / /どの文字を取得します
$code = substr($str, $that, 1) //文字を取得します
$j = !$i ? 4: $j+15;文字の位置を描画します
$color3 = ImageColorAllocate($ im, mt_rand(0,100), mt_rand(0,100), mt_rand(0,100)) //文字に色を付けます
ImageChar($im, $fontsize, $j, 3, $code); , $color3); // 文字を描画します
$ randcode .= $code; // 認証コード文字列を少しずつ追加します
}

/*
* 干渉を追加します
*/
for ($i=0; $i< ;5; $i++)//背景の干渉線を描画します
{
$color1 = ImageColorAllocate($im, mt_rand(0,255), mt_rand(0,255), mt_rand(0,255)); // 干渉線の色
ImageArc($im, mt_rand(-5,$w), mt_rand(- 5,$h), mt_rand(20,300), mt_rand(20,200), 55, 44, $color1) //干渉線
}
for($i=0; $i {
$color2 = ImageColorAllocate($im, mt_rand(0,255), mt_rand(0,255), mt_rand(0,255)); //干渉点の色
ImageSetPixel($im, mt_rand(0,$w) , mt_rand(0,$h), $color2); //干渉点
}

//認証コード文字列をセッションに書き込む

//$this-> ;session->set_userdata(array($this ->name=>$randcode));

$_SESSION[$this->name]=$randcode;
/*描画終了*/
Imagegif( $im);
ImageDestroy($im);
/*描画終了*/
}
}
?>

phpコードを呼び出します:

コードをコピー コードは次のとおりです:
function verify_image() {
$conf['name'] = ' verify_code' //設定パラメータとして
; $this->load->library('lib_captcha', $conf); ;userdata('verify_code');
Echo $yzm_session;
}


html コード:


コードは次のとおりです:


"">
> ;img src="/user/verify_image" alt="検証コード" id="verify_code" class="yz_img" />1 つ変更< ;/a>
">
function changeCode(){
FS.query("#verify_code").src ="/user/verify_image?r=" + Math.random ();
}





http://www.bkjia.com/PHPjc/327905.htmlwww.bkjia.comtru​​e
http://www.bkjia.com/PHPjc/327905.html

技術記事

PHP コード: 次のようにコードをコピーします。 ?php class Captcha_code { var $num='4'; var $name='randcode'; $ conf="") { if($...


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。