当前位置:首页 » 编程语言 » php判断验证码正确

php判断验证码正确

发布时间: 2022-09-02 04:06:47

phpcms 如何判断验证码输入正确

验证码生成后对应的数值存贮在session中,可安装如下代码进行判断:

$this->_session_start();//开启sesseion
......
//判断验证码
$code=isset($_POST['code'])&&trim($_POST['code'])?trim($_POST['code']):showmessage(L('input_code'),HTTP_REFERER);
if($_SESSION['code']!=strtolower($code)){
showmessage(L('code_error'),HTTP_REFERER);
}

❷ php中用户输入的验证码怎样用javascript 代码进行判断 是否输入正确

验证码一般都是在服务器随机产生,在html页面用ajax获取验证码来和用户输入的验证码进行比较
<script type="text/javascript">
var xmlHttp;
function createXMLHttpRequest()
{
if(window.ActiveXObject)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest)
{
xmlHttp=new XMLHttpRequest();
}
}
function doit()
{
createXMLHttpRequest();
xmlHttp.onreadystatechange=handleStateChange;
xmlHttp.open("get","auth_code.php",true);
xmlHttp.send(null);
}
function handleStateChange()
{
if(xmlHttp.readyState==4)
{
if(xmlHttp.status==200 || xmlHttp.status==0)
{
checkAuthCodeInput(xmlHttp.responseText);
}
}
}
function checkAuthCodeInput(authcode)
{
if(document.getElementById("自定义").value==auth)
{
return true;
}
return false;
}
</script>
<img src="auth_code.php" id="img_auth_code"/>
<a href="document.getElementById('img_auth_code').src='auth_code.php?code='+Math.random();">看不清,再换一张</a>

//该页面用于随机获取验证码rand_auth_code.php
<?php
function get_auth_code()
{
for($i=0;$i<5;$i++)
{
$_GLOBALS['rand_str'].=strtoupper(dechex(rand(0,15)));
rand_str_width+=imagefontwidth($i);
}
}
echo $_GLOBALS['rand_str'];
?>

<?php
include_once("rand_auth_code.php");//导入产生验证码的页面
$img_width=100;
$img_height=25;
$img=imagecreatetruecolor($img_width,$img_height);

$img_bg_color=imagecolorallocate($img,0,0,0);

imagefill($img,0,0,$img_bg_color);

$img_font_color=imagecolorallocate($img,225,225,225);

get_auth_code();//调用方法,产生随机验证码

$img_font_x=$img_width/2 - $rand_str_width/2;
$img_font_y=($img_height-imagefontwidth(5))/2;

imagestring($img,5,$img_font_x,$img_font_y,$_GLOBALS[rand_str],$img_font_color);

header("Content-Type:image/jpeg");

imagejpeg($img);

imagedestroy($img);
unset($_GLOBALS['rand_str']);
?>

不知是否符合你的要求

❸ php验证码判断问题

没明白你的意思, 验证码就是这样, 生成的时候将验证码写进session, 验证的时候取出来的肯定是上次生成那个.

能详细说一下你哪里不明白么?

------------------------------

我想你是没明白验证码的工作原理, 验证码多数情况是用来防止机器人自动发贴或注册而采取的一种验证手段, 在php中验证码多数用session来实现.

举个例子让你理解下流程.

1. 用户访问注册页面a.php
2. a.php输出了一个验证码b.php,实际上等于用户向b.php发送了一个请求.
3. b.php生成一个随机数$a, 并将这个随机数保存到session中, 然后将图片显示给用户
4. 用户填写注册表单并提交到c.php
5. c.php接受用户注册信息, 但在注册之前要从session中取出随机数$a和你提交上来的验证码做一下比较, 这个随机数$a是在b.php那个请求中生成的, 也就是在a.php中看到的那个图片. 比较如果相同那么同意你进行申请, 如果不相同则返回错误信息并跳转回a.php, 然后回到步骤1

这里我觉得你最应该了解的是session的作用,是用来在会话期间内在请求之间传递数据.

❹ 在php中进行验证码的判断,对的话提交,错误的话,表单不提交,如何进行实现

PHP验证程序,假设数据库存储的是用户名和 md5 加密后的密码:
// 表单提交后...
$posts = $_POST;
// 清除一些空白符号
foreach ($posts as $key => $value)
{
$posts[$key] = trim($value);
}
$password = md5($posts["password"]);
$username = $posts["username"];
$query = "SELECT `username` FROM `user` WHERE `password` = '$password'";
// 取得查询结果
$userInfo = $DB->getRow($query);
if (!empty($userInfo))
{
if ($userInfo["username"] == $username)
{
// 当验证通过后,启动 session
session_start();
// 注册登陆成功的 admin 变量,并赋值 true
$_session["admin"] = true;
}
else
{
die("用户名密码错误");
}
}
else
{
die("用户名密码错误");
}
我们在需要用户验证的页面启动 session,判断是否登陆:
// 防止全局变量造成安全隐患
$admin = false;
// 启动会话,这步必不可少
session_start();
// 判断是否登陆
if (isset($_SESSION["admin"]) && $_session["admin"] === true)
{
echo "您已经成功登陆";
}
else
{
// 验证失败,将 $_session["admin"] 置为 false
$_session["admin"] = false;
die("您无权访问");
}
?>

❺ php验证码怎么先在客户端用js判断

这个有两种方式
A:该值保存在cookie里面,然后使用js获取cookie中的指定变量对比就知道验证码对不对了,好处就是验证准确,缺点就是可能被破解。
B:验证码应该符合一个算法的规定,例如,验证码为6位,其ascII代码的值加起来应该能被某个数整除,然后js端用该算法检查验证码得知是否正确,有点是难于破解,缺点是有可能通过js验证但是实际上用户输入的验证码根本不对。

但是一般还是推荐后面一种方式。

❻ php验证码判断

session_start();
$str_number = trim($_POST['number']);
if(strtolower($_SESSION['rand'])==strtolower($str_number )){
echo "验证码正确";
}else{
echo "验证码不正确";
}

最好加strtolower函数转换下大小写,这样子,用户在输入时就不用区分大小写了。不然用户体验会很麻烦,这是我个人理解。

❼ php验证码 问题

试试我的吧
【code.php】
<?php
/**
* 验证码图片
*/
session_start();
Header("Content-type: image/gif");
/*
* 初始化
*/
$border = 0; //是否要边框 1要:0不要
$how = 4; //验证码位数
$w = $how*15; //图片宽度
$h = 20; //图片高度
$fontsize = 10; //字体大小
$alpha = "abcdefghijkmnpqrstuvwxyz"; //验证码内容1:字母
$number = "23456789"; //验证码内容2:数字
$randcode = ""; //验证码字符串初始化
srand((double)microtime()*1000000); //初始化随机数种子

$im = ImageCreate($w, $h); //创建验证图片

/*
* 绘制基本框架
*/
$bgcolor = ImageColorAllocate($im, 255, 255, 255); //设置背景颜色
ImageFill($im, 0, 0, $bgcolor); //填充背景色
if($border)
{
$black = ImageColorAllocate($im, 0, 0, 0); //设置边框颜色
ImageRectangle($im, 0, 0, $w-1, $h-1, $black);//绘制边框
}

/*
* 逐位产生随机字符
*/
for($i=0; $i<$how; $i++)
{
$alpha_or_number = mt_rand(0, 1); //字母还是数字
$str = $alpha_or_number ? $alpha : $number;
$which = mt_rand(0, strlen($str)-1); //取哪个字符
$code = substr($str, $which, 1); //取字符
$j = !$i ? 4 : $j+15; //绘字符位置
$color3 = ImageColorAllocate($im, mt_rand(0,100), mt_rand(0,100), mt_rand(0,100)); //字符随即颜色
ImageChar($im, $fontsize, $j, 3, $code, $color3); //绘字符
$randcode .= $code; //逐位加入验证码字符串
}

/*
* 如果需要添加干扰就将注释去掉
*
* 以下for()循环为绘背景干扰线代码
*/
/* + -------------------------------绘背景干扰线 开始-------------------------------------------- + */
for($i=0; $i<5; $i++)//绘背景干扰线
{
$color1 = ImageColorAllocate($im, mt_rand(0,255), mt_rand(0,255), mt_rand(0,255)); //干扰线颜色
ImageArc($im, mt_rand(-5,$w), mt_rand(-5,$h), mt_rand(20,300), mt_rand(20,200), 55, 44, $color1); //干扰线
}
/* + -------------------------------绘背景干扰线 结束-------------------------------------- + */

/*
* 如果需要添加干扰就将注释去掉
*
* 以下for()循环为绘背景干扰点代码
*/
/* + --------------------------------绘背景干扰点 开始------------------------------------------ + */
/*
for($i=0; $i<$how*40; $i++)//绘背景干扰点
{
$color2 = ImageColorAllocate($im, mt_rand(0,255), mt_rand(0,255), mt_rand(0,255)); //干扰点颜色
ImageSetPixel($im, mt_rand(0,$w), mt_rand(0,$h), $color2); //干扰点
}
*/
/* + --------------------------------绘背景干扰点 结束------------------------------------------ + */

//把验证码字符串写入session 方便提交登录信息时检验验证码是否正确 例如:$_POST['randcode'] = $_SESSION['randcode']
$_SESSION['randcode'] = $randcode;

/*绘图结束*/
Imagegif($im);
ImageDestroy($im);
/*绘图结束*/
?>
【test.php】
<img src="code.php">

❽ 用PHP、JS写判断验证码是否正确,不要alert弹出框,我要的是在输入之后显示是否正确。

注册按钮绑定click 事件 事件开头判断 Checkvar();

如果是FORM 要在 声明onsubmit="Checkvar();"

functionCheckvar(){

varvarcode=$("#vc");//这里获取输入的注册码
vartipsmsg=$("#msg")//提示框对象
$.ajax({
url:"checkcode.php?code="+varcode+"&",
async:false,//关闭异步

success:function(data){用回调函数检查服务器返回的结果
if(data=="0"){未通过
tipsmsg.html('验证码错误');
returnfalse;
}else{//通过
tipsmsg.html('成功');
returntrue;
}

}
});
}

checkcode.php
<?
session_start();

if($code==$_SESSION["code"]){

echo"1";
}else{
echo"0";
}
?>

❾ PHP验证码已经生成图片了然后应该怎么把图片拿过去放在登录哪里验证用户输入的验证码是否正确 大佬们

verification.php 生成验证图片,并且将验证码写到session
login-action.php 判断用户提交的数据中的验证码和session中的验证码比对即可

❿ php中,我使用jquery+ajax 判断验证码是否正确。失败了就不提交表单怎么做,验证失败就不提交

你的form提交应该有个 return 验证方法() 这个方法里面判断php返回验证码错误就return false; 就会把false 传递到 form提交那里! 就实现了不能提交~

热点内容
尾货棉服直播间脚本 发布:2025-01-16 01:21:45 浏览:227
vb编程步骤 发布:2025-01-16 01:11:58 浏览:201
bb霜解压 发布:2025-01-16 01:11:11 浏览:596
编程怼人 发布:2025-01-16 00:53:08 浏览:760
建立共享服务器地址 发布:2025-01-16 00:26:40 浏览:565
android开机动画修改 发布:2025-01-16 00:26:26 浏览:872
怎么解压pc版游戏 发布:2025-01-16 00:16:32 浏览:122
v9更新到91有方舟编译器吗 发布:2025-01-16 00:11:49 浏览:500
AB系统编程 发布:2025-01-16 00:09:37 浏览:621
存储过程如何遍历一个表的数据 发布:2025-01-16 00:08:34 浏览:875