Maison  >  Article  >  php教程  >  php验证码程序代码

php验证码程序代码

WBOY
WBOYoriginal
2016-05-25 16:41:201365parcourir

网上生成php验证码程序用很多,下面我来给大家分享一款超不错的php验证码程序代码,有需要的朋友可参考,验证码识别一般分为以下几个步骤:1. 取出字模,2. 二值化,3. 计算特征,4. 对照样本.

php验证码程序代码如下:

<?php
function _code($_code_length = 4, $_width = 75, $_height = 25) {
    for ($i = 0; $i < $_code_length; $i++) {
        $_nmsg.= dechex(mt_rand(0, 15));
    }
    $_SESSION["code"] = $_nmsg;
    $_img = imagecreatetruecolor($_width, $_height);
    $_white = imagecolorallocate($_img, 250, 250, 250);
    imagefill($_img, 0, 0, $_white);
    $_gray = imagecolorallocate($_img, 196, 196, 196);
    imagerectangle($_img, 0, 0, $_width - 1, $_height - 1, $_gray);
    for ($i = 0; $i < 6; $i++) {
        $_md_color = imagecolorallocate($_img, mt_rand(200, 255) , mt_rand(200, 255) , mt_rand(200, 255));
        imageline($_img, mt_rand(0, $_width) , mt_rand(0, $_height) , mt_rand(0, $_width) , mt_rand(0, $_height) , $_md_color);
    }
    for ($i = 0; $i < 50; $i++) {
        $_md_color = imagecolorallocate($_img, mt_rand(200, 255) , mt_rand(200, 255) , mt_rand(200, 255));
        imagestring($_img, 1, mt_rand(1, $_width - 5) , mt_rand(1, $_height - 5) , "*", $_md_color);
    }
    for ($i = 0; $i < $_code_length; $i++) {
        $_md_color = imagecolorallocate($_img, mt_rand(0, 102) , mt_rand(0, 102) , mt_rand(0, 102));
        imagestring($_img, 5, $i * $_width / $_code_length + mt_rand(1, 10) , mt_rand(1, $_height / 2) , $_SESSION["code"][$i], $_md_color);
    }
    header("Content-Type:image/png");
    imagepng($_img);
    imagedestroy($_img);
}
//验证码使用方法
$getcode = $_POST[&#39;code&#39;];
if ($_SESSION["code"] = $getcode) {
    echo &#39; 验证合法,进入下一步&#39;;
    unset($_SESSION["code"]);
} else {
    echo &#39; 验证码不正确&#39;;
    header(&#39;location:vial.php&#39;);
}


本文地址:

转载随意,但请附上文章地址:-)

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn