app/lib/class/sdcms_captcha.php

(开头部分) 2KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

<?php
/**
 * 作用:验证码
 * 官网:Https://www.sdcms.cn
 * ===========================================================================
 * 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和使用;
 * 未经授权不允许对程序代码以任何形式任何目的的再发布。
 * ===========================================================================
**/

final class sdcms_captcha
{
    private $charset='abcdefghjkmnpqrstuvwxyz023456789';
    private $code;
    private $codelen=4;
    private $width=130;
    private $height=50;
    private $img;
    private $font;
    private $fontsize=20;
    private $fontcolor;

    public function __construct($w=130,$h=50,$s=25,$l=4)
    {
        $this->codelen=$l;
        $this->width=$w;
        $this->height=$h;
        $this->fontsize=$s;
        $this->font=APP_SYS_PATH.'/lib/fonts/elephant.ttf';
    }

    private function createCode()
    {
        $_len=strlen($this->charset)-1;
        for($i=0;$i<$this->codelen;$i++)
        {
            $this->code.=$this->charset[mt_rand(0,$_len)];
        }
    }

    private function createBg()
    {
        $this->img=imagecreatetruecolor($this->width,$this->height);
        $color=imagecolorallocate($this->img,255,255,255);
        imagefilledrectangle($this->img,0,$this->height,$this->width,0,$color);
    }

    private function createFont()
    {
        $_x=$this->width/$this->codelen;
        for($i=0;$i<$this->codelen;$i++)
        {
            $this->fontcolor=imagecolorallocate($this->img,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255));
            imagettftext($this->img,$this->fontsize,mt_rand(-30,30),$_x*$i+mt_rand(1,5),$this->height/1.4,$this->fontcolor,$this->font,$this->code[$i]);
        }
    }

    private function createLine() 
    {
        for($i=0;$i<5;$i++)
后面还有 33 行代码,购买后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。