大约用半个小时,做了个土法验证码:
代码:
// 设定变量 $vc_max_num=10; $vc_secret_num1=237;// 开始生成验证码 $vc1=rand(0, $vc_max_num); //3 $vc2=rand(0, $vc_max_num); $vc3=rand(1,3); if ($vc3==1) { $vc4='+'; $vr1=$vc1+$vc2; } if ($vc3==2) { $vc4='-'; $vr1=$vc1-$vc2; } if ($vc3==3) { $vc4='*'; $vr1=$vc1*$vc2; } $vc_code=$vr1*$vc_secret_num; //做个简单的加密 // 控件上调用: <div class="input-group"> <span class="input-group-addon">验证:<? echo $vc1." ".$vc4." ".$vc2." = "; ?></span> <input type="text" name="vno" class="form-control" id="vno" aria-describedby="inputGroupSuccess1Status" placeholder="请输入计算结果(必填)"> </div> // 提交时验证 $vc_code = $_REQUEST["vno"]; $vc_id = $_REQUEST["vid"]; $c=$tid; //当前ID赋给参数,显示原贴内容。 // 简单验证码 if ($df>5) {echo "ss|vc|=".$vc_code."|".$vc_id."<br>\r\n"; } if ($vc_code<>$vc_id/$vc_secret_num) { $msg= "验证码输入错误!未保存成功!"; } else { $msg1= "验证码正确!"; // 正常执行程序代码; }
被大神分分钟破解掉
var n1=0;var n2=0;var result=""; var a=document.getElementsByClassName("input-group-addon")[3].innerText; a = a.replace('Verification:',''); a = a.replace(' =',"); if (a.index0f("*")>-1) { n1 = a.split(' * ')[0]/1; n2 = a.split(' * ')[1]/1; result = n1*n2; }
土法验证码测试:
// 验证码 $vc_max_num=10; $vc_secret_num1=237; $vc_secret_num2=25; $vc_secret_num3=9; // 开始生成验证码 $vc1=rand(0, $vc_max_num); //3 $vc2=rand(0, $vc_max_num); $vc3=rand(1,3); if ($vc3==1) { $vc4='+'; $vr1=$vc1+$vc2; } if ($vc3==2) { $vc4='-'; $vr1=$vc1-$vc2; } if ($vc3==3) { $vc4='*'; $vr1=$vc1*$vc2; } $vc_code = ($vr1*$vc_secret_num1-$vc_secret_num2)*$vc_secret_num3; echo $vc1."|".$vc4."|".$vc2."=".$vr1."|".$vc_code."|<br>\r\n"; $vid=$vc_code; $vc_result=($vid/$vc_secret_num3+$vc_secret_num2)/$vc_secret_num1; echo $vc_result."|<br>\r\n";
end;
No Tags