那位高人能告诉小女在用php GD库做验证码的时候怎样加入干扰线啊,注意不是直线啊,是那种曲线啊

那位高人能告诉小女在用php GD库做验证码的时候怎样加入干扰线啊,注意不是直线啊,是那种曲线啊,第1张

这段代码你可以看看,自己原创的哦,

<?php

$im = ImageCreate(200,200)

$red = ImageColorAllocate($im,0xFF,0x00,0x00)

$black = ImageColorAllocate($im,0x00,0x00,0x00)

$white = ImageColorAllocate($im,0xFF,0xFF,0xFF)

$ys1 = ImageColorAllocate($im,0xE9,0xB1,0x50)

$ys2 = ImageColorAllocate($im,0x98,0x25,0xCB)

$ys3 = ImageColorAllocate($im,0x40,0x88,0x47)

ImageFilledRectangle($im,50,50,150,150,$black)

//点

for($i=0$i<300$i++){

ImageSetPixel($im,rand(1,200),rand(1,200),$white)

}

//虚线

for($i=0$i<10$i++){

ImageDashedLine($im,rand(1,200),rand(1,200),rand(1,200),rand(1,200),$ys1)

}

//线

for($i=0$i<10$i++){

ImageLine($im,rand(1,200),rand(1,200),rand(1,200),rand(1,200),$ys1)

}

//矩形框

for($i=0$i<3$i++){

ImageRectangle($im,rand(1,200),rand(1,200),rand(1,200),rand(1,200),$ys1)

}

//矩形面

for($i=0$i<2$i++){

ImageFilledRectangle($im,rand(1,200),rand(1,200),rand(1,200),rand(1,200),$ys1)

}

//多边形

$point = array(rand(1,200),rand(1,200),rand(1,200),rand(1,200),rand(1,200),rand(1,200))

ImagePolygon($im,$point,count($point)/2,$ys2)

ImageFilledPolygon($im,$point,count($point)/2,$ys2)

//弧线

ImageArc($im,rand(20,180),rand(20,180),rand(50,150),rand(50,150),rand(0,360),rand(0,360),$ys3)

//打字

ImageString($im,4,20,30,"add word",$ys3)

//ImageTTFText($im,30,0,rand(0,50),rand(30,200),$ys3,'msyhbd.ttf',"添加文字")

header('Content-Type:image/png')

ImagePNG($im)

?>

三重验证码是什么

验证码我们在登录或者干别的时候经常会跳出来,有时候的验证码会简单一些,这两年的验证码越来越难,越来越多,但其实主流的验证码也仍然还是那几种,下面就一起来看看这些验证码的分类。

1、手机短信验证码

短信验证码也可称为手机短信验证码,它是指通过发送验证码到手机的一种有效的验证码系统,用户在需要获取短信验证码时须将手机携带在身边,否则无法正常使用。

当用户在各种类型的网站、APP等产品中进行一项具体的 *** 作例如注册登录账号、修改重要信息、购物付款等时,系统会要求用户先输入11位有效的手机号码

或者系统会默认使用用户注册时的手机号码,然后系统将验证码信息以手机短信的方式发送给用户,用户填写正确即可完成 *** 作。

2、图片验证码

图片验证码是人们第一次使用的标准验证码。这是基于当时机器很难处理复杂的计算机视觉识别问题,人类很容易区分人和机器。这个验证码的主要机制是,人类的知识很容易解决,而计算机很难解决。

目前,为了增加验证码的对抗效果,图像验证码的方法包括添加干扰线、文字粘连、背景颜色感知、字体变形、空心字体等。

3、数字验证码

比较常见的是短信验证码和语音验证码,一般是由系统将验证码短信发送到用户填写的手机号码或者系统记录好的手机号码上,或者拨打该手机号码给客户语音播报验证码,此类验证码一般由4-6个数字组成。

贴吧发帖的验证码是供人工识别的,横线是干扰线,用来避免机器识别,而造成爆吧等危害贴吧秩序的事情发生。

验证码:

验证码(CAPTCHA)是“Completely Automated Public Turing test to tell Computers and Humans Apart”(全自动区分计算机和人类的图灵测试)的缩写,是一种区分用户是计算机还是人的公共全自动程序。可以防止:恶意破解密码、刷票、论坛灌水,有效防止某个黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登陆尝试,实际上用验证码是现在很多网站通行的方式,我们利用比较简易的方式实现了这个功能。这个问题可以由计算机生成并评判,但是必须只有人类才能解答。由于计算机无法解答CAPTCHA的问题,所以回答出问题的用户就可以被认为是人类。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11817001.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存