php验证码生成及验证

本文分享了一位业余PHP程序员实现验证码生成与验证的过程,代码存于session并使用MD5加密,尽管意识到这种方式可能易遭破解,但作者期待了解更安全的实现方案。
摘要由CSDN通过智能技术生成

代码也是网上找的,自己稍微修改了下,code放在session里面,md5加密了一下,网上很多说这样很容易破解,但是作为一名业余的php程序员实在不知道有什么更好的办法了,希望知道更好办法的同学不吝赐教。

<?php
//error_reporting(E_ALL^E_NOTICE);
session_start();
header("Content-type: image/png");

$str = "2,3,4,5,6,7,8,9,a,b,c,d,f,g,h,i,j,k,m,n,p,q,r,s,t,u,v,w,x,y,z";      
$list = explode(",", $str);
$cmax = count($list) - 1;
$verifyCode = '';
for ( $i=0; $i < 5; $i++ ){
      $randnum = mt_rand(0, $cmax);
      $verifyCode .= $list[$randnum];           
}
$_SESSION['ok358_code'] = md5($verifyCode);      
 
$im = imagecreate(92,28);    
$black = imagecolorallocate($im, 0,0,200);     
$white = imagecolorallocate($im, 255,255,255);
$gray = imagecolorallocate($im, 200,200,200);
$red = imagecolorallocate($im, 255, 0, 0);
imagefill($im,0,0,$gray);    

//imagestring($im, 5, 10, 8, $verifyCode, $b
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值