php滑动拼图验证码的图片是怎样生成的

1 如果放在项目中用,验证码图片希望可以是接口返回。ImageView以及其子类支持花式加载图片。
2 继承自ImageView,绘制图片本身不用我们干预,也不用我们操心scaleType,节省很多工作。
* 在onSizeChanged()方法中生成 和 控件宽高相关的属性值:
1 初始化时随机生成验证码区域起点
2 生成验证码区域Path
3 生成滑块Bitmap
* onDraw()时,依次绘制:
1 验证码阴影
2 滑块

② 滑动验证码怎么实现gd2、php滑动验证码怎么弄

$XSVerification=newXSVerification();//加载类XSVerification.class.php
$data=$XSVerification->getOkPng();
$temp=array_chunk($data['data'],20);
$this->assign('left_pic',$temp[0]);
$this->assign('right_pic',$temp[1]);
$this->assign('pg_bg',$data['bg_pic']);
$this->assign('ico_pic',$data['ico_pic']);
$this->assign('y_point',$data['y_point']);

源码下载:http://www.thinkphp.cn/topic/45662.html

③ 实现php中图形验证码刷新的问题

tm没有具体意义。两个代码都是为了让每次打开的图片是不同的SRC地址。

因为浏览器在打开图片时,如果发现图片的SRC地址是缓存中存在的,就可能读取上一次的缓存,导致图片刷新失败。

在地址后加?和随机值,就是为了让SRC地址每次不同,浏览器也就每次请求服务器,而不是显示缓存

④ php图片验证码实现

可以用php的GD库做

//随机生成验证码
class randomString
{

function createRandomStr($strLen)
{
list($usec, $sec) = explode(' ', microtime());
(float) $sec + ((float) $usec * 100000);

$number = '';
$number_len = $strLen;
$stuff = '';//附加码显示范围ABCDEFGHIJKLMNOPQRSTUVWXYZ
$stuff_len = strlen($stuff) - 1;
for ($i = 0; $i < $number_len; $i++) {
$number .= substr($stuff, mt_rand(0, $stuff_len), 1);
}
return $number;
}
}
通过ZD库将验证码变成图片
$number = $createStr->createRandomStr('4');//验证码的位数
$number_len = strlen($number);
$_SESSION["VERIFY_CODE"] = $number;

// 生成验证码图片
$img_width = 60;
$img_height = 20;

$img = imageCreate($img_width, $img_height);
ImageColorAllocate($img, 0x6C, 0x74, 0x70);
$white = ImageColorAllocate($img, 0xff, 0xff, 0xff);

$ix = 6;
$iy = 2;
for ($i = 0; $i < $number_len; $i++) {
imageString($img, 5, $ix, $iy, $number[$i], $white);
$ix += 14;
}
for($i=0;$i<200;$i++) //加入干扰象素
{
$randcolor = ImageColorallocate($img,rand(0,255),rand(0,255),rand(0,255));
imagesetpixel($img, rand()%100 , rand()%50 , $randcolor);
}

// 输出图片
header("Content-type: " . image_type_to_mime_type(IMAGETYPE_PNG));

imagepng($img);
imagedestroy($img);

⑤ 我的php代码中登陆界面加一个验证码,如何实现

php登陆页面+验证码的实现,参考如下:

1、首先新建一个php站点;

⑥ 求完整的PHP验证码验证代码

<?php
header("content-Type:image/gif");function getRandStr($len=4,$type=0){
mt_srand(microtime(true)*10000);
$num='';
//获取数字
for($n=48;$n<58;$n++){
$num.=chr($n);
} $xiaoie='';
//获取小写
for($m=97;$m<123;$m++){
$xiaoxie.=chr($m);
} $daie='';
//获取大写
for($n=65;$n<91;$n++){
$daxie.=chr($n);
}
switch($type){
case 0:
$allstr=$num.$daxie.$xiaoxie;
break;
case 1:
$allstr=$num;
break;
case 2:
$allstr=$daxie.$xiaoxie;
break;
default:
$allstr=$num.$daxie.$xiaoxie;
break;
}
$strlen=strlen($allstr);
if($len>$strlen)
return '';
$rand='';
for($l=0;$l<$len;$l++){
$rand.=$allstr{mt_rand(0,$strlen-1)};
}
return $rand;
}
$w=80;
$h=30;//创建画布
$im=imagecreate($w,$h);//创建真彩画布,跟上面效果一样
//$im=imagecreatetruecolor($w,$h);//设置背景颜色
$bg_color=imagecolorallocate($im,rand(100,150),rand(200,255),rand(100,150));//设置模糊点的颜色
$mohu_color=imagecolorallocate($im,mt_rand(20,50),mt_rand(20,50),mt_rand(100,200));
//为背景加模糊点
for($i=0;$i<100;$i++){
imagesetpixel($im,rand(1,$w-1),rand(1,$h-1),$mohu_color);
} //设置线条颜色
$line_color=imagecolorallocate($im,mt_rand(20,50),mt_rand(20,50),mt_rand(100,200));
for($j=0;$j<5;$j++){
//画线条
imageline($im,mt_rand(0,$w),mt_rand(0,$h),mt_rand(0,$w),mt_rand(0,$w),$line_color);
} $randstr=getrandStr();
$_SESSION['randcode']=$randstr;$font_color=imagecolorallocate($im,mt_rand(20,50),mt_rand(20,50),mt_rand(100,200));
$font="./Fonts/ARIALNI.TTF";
//王图片加字符串
imagettftext($im,14,rand(0,6),15,20,$font_color,$font,$randstr);//生成GIF图片
imagegif($im);//销毁图片
imagedestroy;
?>

⑦ php实现验证码,能给具体的代码吗 在这谢谢过各位高手了

index.php:
<?php
/* index.php start*/
if(!empty($_POST)) {
session_start();
if($_POST['seccode'] == $_SESSION['seccode']) {
echo '<script>alert("验证成功")</script>';
} else {
echo '<script>alert("验证失败")</script>';
}
session_destroy();
}
?>
<form action="" method="post" />
<img id="seccode" src="seccode.php?rand=".<?=rand()?> /> <input type="text" name="seccode" /> <input type="submit" value="submit" />
<input type="button" onclick="document.getElementById('seccode').src = 'seccode.php?reload=1&' + Math.random()" value="change one"/>
</form>

<?php
/* index.php end*/
?>

******************************
seccode.php:
<?php
/*seccode.php start*/
session_start();
if(isset($_SESSION['seccode']) && empty($_GET['reload'])) {
$arr = $_SESSION['seccode'];
} else {
for($i=0; $i<4; $i++) {
$arr[] = rand(0, 9);
}
$_SESSION['seccode'] = implode($arr);
}
$im = imagecreate(90, 25);
$backgroundcolor = imagecolorallocate ($im, 255, 255, 255);

for($i = 0; $i < 4; $i++) {
$s = iconv('GBK', 'UTF-8', $arr[$i]);
$x = $i * 20 + mt_rand(0, 4) - 2;// 随机X
$y = mt_rand(0, 4); // 随机Y
$angle = mt_rand(0,4);// 随机角度
$text_color = imagecolorallocate($im, mt_rand(50, 255), mt_rand(50, 128), mt_rand(50, 255)); // 随机颜色
imagettftext($im,20, $angle,$x,20+$y,$text_color,"C:\\Windows\\Fonts\\SIMSUN.TTC",$s);
}

// 线条
$linenums = mt_rand(10, 32);
for($i=0; $i <= $linenums; $i++) {
$linecolor = imagecolorallocate($im, mt_rand(0, 255), mt_rand(0, 255), mt_rand(0, 255));
$linex = mt_rand(0, 62);
$liney = mt_rand(0, 25);
imageline($im, $linex, $liney, $linex + mt_rand(0, 4) - 2, $liney + mt_rand(0, 4) - 2, $linecolor);
}

// 杂点
for($i=0; $i <= 64; $i++) {
$pointcolor = imagecolorallocate($im, mt_rand(50, 255), mt_rand(50, 255), mt_rand(50, 255));
imagesetpixel($im, mt_rand(0, 62), mt_rand(0, 25), $pointcolor);
}

// 边框
$bordercolor = imagecolorallocate($im , 150, 150, 150);
imagerectangle($im, 0, 0, 89, 24, $bordercolor);

header('Content-type: image/png');
imagepng($im);
imagedestroy($im);
/*seccode.php end*/
?>

⑧ 我想在我的PHP网站里加一个验证码,滑动那种

你也真敢想。
网页验证码一般是在后台生成一个验证码在后台生成好图片返回给网页内显示,用户输入的信息与后端保容存的信息再进行验证。
如果后端的信息返回到前端是已文字的形式,就起不到安全的作用了。
你的这个功能可以这样设计,但作用不大。我来说说我的思路吧
首先后端返回一个数字类型的验证码,前端获取数字行的验证用js+css组织实现特效。你在上图的黑色部分设定一个挡扳的html元素(这个元素距离左边的三角形滑动块的距离就是后端返回的数字),左边滑块滑动多少距离达这个隐藏区块,获取这个数值,保存下来。

⑨ 怎么用lua语言来实现滑块验证的代码

这个验证一般都是由PHP和js配合完成的