为了账号安全,请及时绑定邮箱和手机立即绑定

PHP实现验证码制作

难度初级
时长 1小时20分
学习人数
综合评分9.80
171人评价 查看评价
10.0 内容实用
9.8 简洁易懂
9.6 逻辑清晰
  • <?php $image = imagecreatetruecolor( 100, 30 ); $bgcolor = imagecolorallocate( $image, 255, 255, 255 ); imagefill( $image, 0, 0, $bgcolor ); // 创建一个循环,循环200次 // 在循环内,用GD库生成一个随机颜色 // 在随机位置上画一个干扰点,颜色使用上面的随机颜色 for($i=0;$i<200;$i++){ $dot= imagecolorallocate($image,rand(50,200),rand(50,200),rand(50,200)); imagesetpixel($image,rand(1,99),rand(1,29),$dot); } header( 'content-type: image/png' ); imagepng( $image ); imagedestroy( $image );
    查看全部
    1 采集 收起 来源:习题

    2018-03-22

  • 因为读操作不会对数据产生影响,可以同时多个线程进行互不干扰,但是写数据的话就得进行加锁,也就是一个线程在操作时候,要保证其他线程不能同时对资源进行操作,不然最后数据就会发生错误,根据数据库引擎的加锁方式不同,可能有字段加锁,表加锁,开销也会不同,另外当数据量很大时候,根据存储结构不同,可能写入一个数据,会进行很大的数据变动,这时候就会比较消耗资源
    查看全部
    1 采集 收起 来源:验证码介绍

    2016-12-08

  • imagesetpixel 画一个单一像素
    查看全部
  • /*for($i=0;$i<4;$i++){ $fontsize = 6; $fontcontent = rand(0,9); $fontcolor = imagecolorallocate($image,rand(0,120),rand(0,120),rand(0,120)); $x= ($i*100/4)+rand(5,10); $y= rand(5,10); imagestring($image,$fontsize,$x,$y,$fontcontent,$fontcolor); }*/ for($i=0;$i<200;$i++){ $pointcolor = imagecolorallocate($image,rand(50,200),rand(50,200),rand(50,200)); imagesetpixel($image,rand(1,99),rand(1,29),$pointcolor); } for($i=0;$i<3;$i++){ $linecolor = imagecolorallocate($image,rand(80,200),rand(80,200),rand(80,200)); imageline($image,rand(1,99),rand(1,29),rand(1,99),rand(1,29),$linecolor); } header('content-type:image/png'); imagepng($image); imagedestroy($image); ?>
    查看全部
  • <?php session_start(); $image =imagecreatetruecolor(100,30); $bgcolor=imagecolorallocate($image,255,255,255); imagefill ($image,0,0,$bgcolor); $captch_code = ""; for($i=0;$i<4;$i++) { $fontsize = 6; $data = "abcdefghijklmnopqrstuvwxyz12345678"; $fontcontent = substr($data,rand(0,strlen($data)),1); $captch_code .=$fontcontent; $fontcolor = imagecolorallocate($image,rand(0,120),rand(0,120),rand(0,120)); $x= ($i*100/4)+rand(5,10); $y= rand(5,10); imagestring($image,$fontsize,$x,$y,$fontcontent,$fontcolor); } $_SESSION['authcode'] = $captch_code;
    查看全部
  • <?php if(isset($_REQUEST['authcode'])){ session_start(); if(strtolower($_REQUEST['authcode']) == $_SESSION['authcode']) { echo '<font color = "#0000CC">输入正确</font>'; }else{ echo '<font color = "CC0000"><b>输入错误</b></font>'; } exit(); } ?> <!DOCTYPEC html> <html> <head> <meta charset = "utf-8"/> <title>确认验证码</title> </head> <form method = "post" ation = "./form.php"> <p>验证图片:<image border = "1" src = "./captcha.php?r=<?php rand();?>" width = 100></p> <p>请输入图片中的内容: <input type = "text" name = "authcode" value = ""/></p> <p><input type= "submit" value = "提交" style = "padding:6px 20px;"></p> </form> </body> </html>
    查看全部
  • 配置GD库, 生成底图
    查看全部
  • <?php session_start(); $table = array( 'pic0'=>'猫', 'pic1'=>'狗', 'pic2'=>'蛇', 'pic3'=>'马' ); $index = rand(0,3); $value = $table['pic'.$index]; $_SESSION['authcode'] = $value; $filename = dirname(__FILE__).'\\pic'.$index.'.jpg'; $contents = file_get_contents($filename); header('content-type:imege/jpg'); echo $contents;
    查看全部
  • 验证码技术点 1.生成底图 2.生成验证码内容,无规律,随机 3.把底图和验证码整合成一张图片 4.保存在服务器并验证 a.底图的实现,并且添加干扰元素--依赖PHP图片处理库GD,详情:http://php.net/gd b.生成验证内容--简单的随机数生成,使用PHP函数mt_rand();随机数字+字母生成,需要ASCII码理论基础;随机中文内容生成,需要UTF-8编码理论基础; c.验证内容保存在服务器端--需要PHP操作Session基础; d.验证内容的校验--需要前段Ajax基础;
    查看全部
  • 一、循环200次,每次产生一个随机位置、随机颜色的干扰点 提示: 1.干扰点太少不能起到干扰效果,干扰点太多又会影响正常阅读,数量恰当即可 二、循环内,使用GD函数生成一个随机颜色 提示: 1.随机颜色的RGB色值建议取50~200之间的色值,值太小颜色太浅、值大颜色太深 三、循环内,使用GD函数在随机位置上画点
    查看全部
    0 采集 收起 来源:习题

    2014-12-17

  • 技术点
    查看全部
  • 生成验证码步骤
    查看全部
  • 简易验证码1
    查看全部
  • 说的很好
    查看全部
  • from.php
    查看全部

举报

0/150
提交
取消
课程须知
本课程适合PHP初学者或者自学的童鞋们。
老师告诉你能学到什么?
1、如何拆解验证码项目 2、PHP的绘图扩展GD库的使用 3、如何用GD函数画图与验证码内容 4、如何用PHP做验证码校验,及动态校验 5、怎么实现中文、图片、视频验证码

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!