A-A+

写一个自己独特的验证码

2014年03月22日 php 暂无评论 阅读 2,064 views 次
很多朋友都用的是CMS系统,我也是。但是cms系统里面的验证码机制都是统一的,这样很不安全哦,很多不良信息发布软件就是利用这种机制就可以轻易的自动注册账户并发布信息。
当然可以用flash验证码,加上打散、杂色、变形等功能来避免发布软件。但你的客户也很难看清楚到底验证码是什么了。而且还加重服务器负担。

让我们做一个虽然简单但能避免发布软件的数字验证码吧,比如我要做一个随机生成不含0的6位数,这就是验证码。为了避免注册发布机呢,我们不能把这个验证码直接呈现给用户,而是要加些东西,比如这6个数字拆分为2个一组,每一组后面加上1个0,再组合起来,成为我们呈现给客户的验证码code。当然在要求用户输入验证码的地方要求去掉0,就OK了。因为我们前面筛选随机数的时候是1~9中选择。所以不必担心去掉了真正验证码的0,代码如下

<?php

$num="";

for($i=0;$i<6;$i++)

{

$j=rank(1,9);   //随机数在1到9之间选择。

$num=$num.$j;

$code=chunk_split($num,2,"0");

}

echo $num;    //这是真正的验证码

echo "<br/>".$code;     //这是给用户看的处理过的验证码

?>

 

效果是这样的:

650610380

真实的验证码是:656138

在输入验证码的地方要求用户去掉0就ok!

 

这只是一个思路,你可以做自己独特的验证码,是不是安又简便全多了?

标签:

给我留言