日期:2014-05-16  浏览次数:20833 次

asp如何生成随机码,如何读取这串随机码
本帖最后由 phpcainiao 于 2013-01-31 12:21:01 编辑
比如,我投票提交数据的<form id="form1" name="form1" method="Post" onSubmit="return check()" action="/serve.asp">

这样子别人很容易刷票。。
我现在想,每次打开网页的时候,action="/serve.asp" 这个asp里面都能随机分配一串数字,然后在服务器上面验证。?

比如,某网友投票,打开投票页面后,系统自动在action="/serve.asp 这个后面生成一串参数。
比如action="/serve.asp?code=werer233423rsF

生成随机码的代码我都想好了,
引用
<%
Function gen_key(digits)
'定义并初始化数组
    dim char_array(80)
 '初始化数字
    For i = 0 To 9
        char_array(i) = CStr(i)
    Next
 '初始化大写字母
    For i = 10 To 35
        char_array(i) = Chr(i + 55)
    Next
 '初始化小写字母
    For i = 36 To 61
        char_array(i) = Chr(i + 61)
    Next
 Randomize   '初始化随机数生成器。
 do while len(output) < digits
        num = char_array(Int((62 - 0 + 1) * Rnd + 0))
        output = output + num
    loop
'设置返回值
    gen_key    =    output
End Function
'把结果返回给浏览器
response.write "本实例生成的十三位随机字符串为:"
response.write "<center>"
response.write gen_key(13)
response.write "</center>"
%>


然后在服务器上面验证这串数字是否存在,同时设置这串随机字符串的生命周期,如果超过五分钟,就自动失效?

求高人写代码?最好是用md5加密,要不然,也很容易破解。。。

------解决方案--------------------
用图码片验证方式就行了
生成一个3~6位随机数,存在session
页面用图片显示验证码

------解决方案--------------------
这个楼主啊,不知道想什么呢,按你说的方法,一样可以刷投票的。不给SESSION,也不给COOKIES,就只是为了MD5加密。你加完密也是一个字符串啊。

再有,也不知道你是为了防刷投票,还是防注册机识别验证码。

不过感觉就是想加个验证码的问题。

验证码的有计算的,有随机字母的,有汉字的。之后记录出现过的验证码。