找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 182|回复: 0
打印 上一主题 下一主题

使用php实现网站验证码功能【推荐】

[复制链接]

2536

主题

2536

帖子

7532

积分

论坛元老

Rank: 8Rank: 8

积分
7532
跳转到指定楼层
楼主
发表于 2018-2-14 05:28:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            验证码是网站常用的一项安全措施,也是新人站长较难掌握的一项技能,这里我向大家介绍一简单有效的验证码实现方法。
开始之前
在正式开始之前我们需要打开php的gd2图形库支持(在php.ini,中搜索“php_gd2.dll”,找到“;extension=php_gd2.dll”并去掉句首的分号) 。
可以参考:如何打开php的gd2库
核心:
这个页面生成一张验证码并将正确数值写入 Session
随机一个4位验证码
$check=rand(1000,9999);  
将生成的验证码写入session
Session_start();
$_SESSION["check"] = $check;
创建一张图片
$im = imagecreate(80,30);
由于这种图片的背景默认是黑色的所以我们要用白色填充。
imagefill($im,0,0,ImageColorAllocate($im, 255,255,255));  
使用imageline随机绘制两条实线
$y1=rand(0,30);
$y2=rand(0,30);
$y3=rand(0,30);
$y4=rand(0,30);
imageline($im,0,$y1,70, $y3,000);
imageline($im,0,$y2,70, $y4,000);
在随机位置绘制文字
$strx=rand(3,15);
$stry=rand(2,15);
imagestring($img,5,$strx,$stry,substr($check,0,1),ImageColorAllocate($img,34,87,100));
$strx+=rand(15,20);
$stry=rand(2,15);
imagestring($img,5,$strx,$stry,substr($check,1,1),ImageColorAllocate($img,781,117,78));
$strx+=rand(15,20);
$stry=rand(2,15);
imagestring($img,5,$strx,$stry,substr($check,2,1),ImageColorAllocate($img,160,40,40));
$strx+=rand(15,20);
$stry=rand(2,15);
imagestring($img,5,$strx,$stry,substr($check,3,1),ImageColorAllocate($img,25,55,10));
输出图像
Header("Content-type: image/PNG");
ImagePNG($img);
结束,下面是完整代码
用户界面:index.php
想必大家都知道怎么做,我就直接给出代码了



[img][/img]



以上的代码将用户输入的数值传递到“action.php”中
检查:action.php
这一步要将用户输入数值与session中的数值进行比对
相等,输出“正确”
不相等,输出“不正确”
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!
            
            
您可能感兴趣的文章:
  • php中文字母数字验证码实现代码
  • php5 图片验证码实现代码
  • ThinkPHP验证码使用简明教程
  • PHP使用CURL实现对带有验证码的网站进行模拟登录的方法
  • 完美解决thinkphp验证码出错无法显示的方法
  • php发送短信验证码完成注册功能
  • 分享一个漂亮的php验证码类
  • PHP 极验验证码实例讲解
  • PHP生成图片验证码功能示例
  • PHP封装函数实现生成随机的字符串验证码
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端