尤明明Blog

网站建设外包|网站切图外包,技术不仅是一种专业,更是一种责任!

您的当前位置: 首页 » CMS学习 » 极致cms »

小程序不支持session,php使用apcu扩展实现验证码功能

2024-10-15   Umming   极致cms    评论(0)    浏览(124)


 function apcucode(){
            header('Content-Type: image/png');
            $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
            $randomString = '';
            for ($i = 0; $i < 4; $i++) {
            $randomString .= $characters[rand(0, strlen($characters) - 1)];
            }
            $randomString = strtoupper($randomString);
            apcu_store('apcucode',md5(md5($randomString)), 60);
      
            $image = imagecreatetruecolor(120, 40);
            $white =  imagecolorallocate($image, rand(210,255),rand(210,255),rand(210,255));
            imagefill($image, 0, 0, $white);
      
            $font =  APP_PATH."frphp/extend/AdobeGothicStd-Bold.ttf";
            $x = 10;
            $y = 30;
            for ($i = 0; $i < 4; $i++) {
            $textColor = imagecolorallocate($image, rand(0, 255), rand(0, 255), rand(0, 255));
            imagettftext($image, 20, 0, $x, $y, $textColor, $font, $randomString[$i]);
            $x += 27; 
            }
            for ($i = 0; $i < 5; $i++) {
            $lineColor = imagecolorallocate($image, rand(0, 255), rand(0, 255), rand(0, 255));
            imageline($image, rand(0, 120), rand(0, 40), rand(0, 120), rand(0, 40), $lineColor);
            }
            imagepng($image);
            imagedestroy($image);

}
function message(){
        if($_POST){
           $userProvidedCode = $this->frparam('vercode',1,'','POST');
           $userProvidedCode =md5(md5(strtoupper($userProvidedCode)));
           $storedCode = apcu_fetch('apcucode');
    
            if (strcasecmp($userProvidedCode ,$storedCode) == 0) {
                // 码正确,执行请求
               JsonReturn(['code'=>0,'msg'=>'验证码正确!']);
               
            } else {
                // 码错误,返回错误提示
               JsonReturn(['code'=>1,'msg'=>'验证码不正确']);
            }
           
         
        }else{
            JsonReturn(['code'=>1,'msg'=>'请求方法错误!']);
        }


    }

标签: php代码

本文链接:https://www.umming.com/jizhicms/333.html     百度已收录

声明:本站信息由网友自行发布或来源于网络,真实性、合法性由发布人负责,请仔细甄别!本站只为传递信息,我们不做任何双方证明,也不承担任何法律责任。文章内容若侵犯你的权益,请联系本站删除!


发表评论: