51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 5988|回复: 13
打印 上一主题 下一主题

[原创] 得到四位随机数验证码,实现登录的方法

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2006-11-10 14:03:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
with Browser("快乐米音乐网_翻唱_伴奏_MV_博客_录歌_相册").Page("快乐米音乐网_翻唱_伴奏_MV_博客_录歌_相册")
Dim a, b,c,d,num
'检查第一个值
q1 =.Image("code").Check (CheckPoint("code"))
q2 =.Image("code").Check (CheckPoint("code_2"))
q3 =.Image("code").Check (CheckPoint("code_3"))
q4 =.Image("code").Check (CheckPoint("code_4"))
q5 =.Image("code").Check (CheckPoint("code_5"))
q6 =.Image("code").Check (CheckPoint("code_6"))
q7 =.Image("code").Check (CheckPoint("code_7"))
q8 =.Image("code").Check (CheckPoint("code_8"))
q9 =.Image("code").Check (CheckPoint("code_9"))
q10 =.Image("code").Check (CheckPoint("code_10"))
'检查第二个值
q11 =.Image("code").Check (CheckPoint("code_11"))
q12 =.Image("code").Check (CheckPoint("code_12"))
q13 =.Image("code").Check (CheckPoint("code_13"))
q14 =.Image("code").Check (CheckPoint("code_14"))
q15 =.Image("code").Check (CheckPoint("code_15"))
q16 =.Image("code").Check (CheckPoint("code_16"))
q17 =.Image("code").Check (CheckPoint("code_17"))
q18 =.Image("code").Check (CheckPoint("code_18"))
q19 =.Image("code").Check (CheckPoint("code_19"))
q20 =.Image("code").Check (CheckPoint("code_20"))
'检查第三个值
q21 =.Image("code").Check (CheckPoint("code_21"))
q22 =.Image("code").Check (CheckPoint("code_22"))
q23 =.Image("code").Check (CheckPoint("code_23"))
q24 =.Image("code").Check (CheckPoint("code_24"))
q25 =.Image("code").Check (CheckPoint("code_25"))
q26 =.Image("code").Check (CheckPoint("code_26"))
q27 =.Image("code").Check (CheckPoint("code_27"))
q28 =.Image("code").Check (CheckPoint("code_28"))
q29 =.Image("code").Check (CheckPoint("code_29"))
q30 =.Image("code").Check (CheckPoint("code_30"))
'检查第四个值
q31 =.Image("code").Check (CheckPoint("code_31"))
q32 =.Image("code").Check (CheckPoint("code_32"))
q33 =.Image("code").Check (CheckPoint("code_33"))
q34 =.Image("code").Check (CheckPoint("code_34"))
q35 =.Image("code").Check (CheckPoint("code_35"))
q36 =.Image("code").Check (CheckPoint("code_36"))
q37 =.Image("code").Check (CheckPoint("code_37"))
q38 =.Image("code").Check (CheckPoint("code_38"))
q39 =.Image("code").Check (CheckPoint("code_39"))
q40 =.Image("code").Check (CheckPoint("code_40"))
'第一个值
        If ( q1 = true )  Then
          a=3
          elseif(q2=  true) then
          a=2
          elseif(q3=  true) then
          a=5
          elseif   ( q4 = true ) then
          a=8
          elseif   ( q5 = true ) then
          a=9
          elseif(q6=  true) then
          a=6
          elseif(q7=  true) then
          a=1
          elseif(q8=  true) then
          a=4
          elseif(q9=  true) then
          b=0
          elseif(q10=  true) then
          a=7
End If
'第二个值
If  (q11=  true)  Then
          b=1
          elseif(q12=  true) then
          b=2
          elseif(q13=  true) then
          b=6
          elseif(q14=  true) then
          b=8
          elseif(q15=  true) then
          b=3
          elseif(q16=  true) then
          b=7
          elseif(q17=  true) then
          b=5
          elseif(q18=  true) then
          b=9
          elseif(q19=  true) then
          b=0
          elseif(q20=  true) then
          b=4
End If
'第三个值
If ( q21 = true )  Then
          c=8
          elseif(q22=  true) then
          c=2
          elseif(q23=  true) then
          c=6
          elseif(q24=  true) then
          c=5
          elseif(q25=  true) then
          c=0
          elseif(q26=  true) then
          c=3
          elseif(q27=  true) then
          c=9
          elseif(q28=  true) then
          c=4
          elseif(q29=  true) then
          c=1
          elseif(q30=  true) then
          c=7
End If
'第四个值
If  (q31=  true)  Then
          d=5
          elseif(q32=  true) then
          d=3
          elseif(q33=  true) then
          d=8
          elseif(q34=  true) then
          d=4
          elseif(q35=  true) then
          d=9
          elseif(q36=  true) then
          d=2
          elseif(q37=  true) then
          d=1
          elseif(q38=  true) then
          d=0
          elseif(q39=  true) then
          d=7
          elseif(q40=  true) then
          d=6
End If
num =cstr(cstr(a)+cstr(b)+cstr(c)+cstr(d))
'msgbox "验证码为:" &num

        .WebEdit("userName").Set "testtest"
        Browser("快乐米音乐网_翻唱_伴奏_MV_博客_录歌_相册_2").Page("快乐米音乐网_翻唱_伴奏_MV_博客_录歌_相册").WebEdit("password").SetSecure "4553f1a03453d421f31b7fd15763e3f1cd16"
Browser("快乐米音乐网_翻唱_伴奏_MV_博客_录歌_相册_2").Page("快乐米音乐网_翻唱_伴奏_MV_博客_录歌_相册").WebEdit("TOKEN_CODE").Set ""&num
Browser("快乐米音乐网_翻唱_伴奏_MV_博客_录歌_相册_2").Page("快乐米音乐网_翻唱_伴奏_MV_博客_录歌_相册").Image("button_1").Click

'Browser("快乐米音乐网_翻唱_伴奏_MV_博客_录歌_相册_2").Page("快乐米音乐网_翻唱_伴奏_MV_博客_录歌_相册_2").Sync
.Sync
end with
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2006-11-13 08:43:47 | 只看该作者
楼主也太会盗版了吧,当引用别人的知识时,请贴出自何处;这个方法是简单,但会想到这种方法的不是你,请尊重原创人。
http://bbs.51testing.com/thread-45137-1-1.html
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2006-11-13 10:26:58 | 只看该作者
这个谈不上D版不D版吧,是用你给出的方法不假,但你也说过希望大家完善,而且如果这也算D版的话,那大家写程序用什么,起泡法排序,堆排序,图的查找。都算是D版了。
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2006-11-13 13:03:33 | 只看该作者
看到了,还好我们这儿的验证码也是四位的随机数,如果是文本就不知道怎么做了。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2006-11-14 09:20:02 | 只看该作者
11月的《程序员》有一篇文章讲述了如何解决验证码的问题
虽然里面的讲述的2个方法都不是很完美
不过还是很值得参考的, 可以借过来看看sdlkfj5
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2006-11-14 11:10:54 | 只看该作者
向netsky_lt 学习,以后有什么更好的可以调用类或DLL实现验证码的。即时共享呀。sdlkfj3
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2006-11-14 11:40:47 | 只看该作者
为什么要对那些值写的那么凌乱啊,有什么意义吗?怎么不直接写成
If ( q1 = true )  Then
          a=0
          elseif(q2=  true) then
          a=1
          elseif(q3=  true) then
          a=2
          elseif   ( q4 = true ) then
          a=3
          elseif   ( q5 = true ) then
          a=4
          elseif(q6=  true) then
          a=5
          elseif(q7=  true) then
          a=6
          elseif(q8=  true) then
          a=7
          elseif(q9=  true) then
          b=8
          elseif(q10=  true) then
          a=9
End If
还有就是你验证的随机码,它是张整图片,你又如何来验证它的数字?
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2006-11-16 17:10:48 | 只看该作者
恩  我遇到了 是一张整的图片的问题 请问各位有什么方法能够得到图片上的数字??
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2006-11-16 17:37:52 | 只看该作者
各位讨论的验证似乎只能针对那些偷懒的开发团队吧?

很难对付YAHOO或者MSN甚至QQ的。偷懒的验证码,我认为,根本无法起到保护应用程序的目的。

换句话说,如果验证码这种方式被我们击垮了,那么开发团队应该找出更好的保护应用程序的方法。
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2016-2-27 08:48
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    10#
    发表于 2006-11-16 17:49:31 | 只看该作者
    原帖由 lovetest6 于 2006-11-16 17:37 发表
    各位讨论的验证似乎只能针对那些偷懒的开发团队吧?

    很难对付YAHOO或者MSN甚至QQ的。偷懒的验证码,我认为,根本无法起到保护应用程序的目的。

    换句话说,如果验证码这种方式被我们击垮了,那么开发团队应 ...


    正所谓“魔高一尺,道高一丈”。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
    发表于 2006-11-17 09:19:54 | 只看该作者
    各位大人 似乎没有很好的方法
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
    发表于 2006-11-20 22:07:34 | 只看该作者
    原帖由 lovetest6 于 2006-11-16 17:37 发表
    各位讨论的验证似乎只能针对那些偷懒的开发团队吧?

    很难对付。偷懒的,我认为,根本无法起到保护应用程序的目的。

    换句话说,如果验证码这种方式被我们击垮了,那么开发团队应 ...



    事在人为,YAHOO或者MSN甚至QQ的这些我早就想到怎样破了,有空再贴出来,不过希望下次贴出来时不要像现在又被别人补贴了,“原创”引用也不打声招呼。大家也可以下载我之前贴的附件,相信你们也知道怎样破了。sdlkfj5
    因为性能测试LR还没想到办法破验证码,所以QTP破了也没有什么意义。

    [ 本帖最后由 netsky_lt 于 2006-11-20 22:09 编辑 ]
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
    发表于 2006-11-21 08:55:32 | 只看该作者
    真的 假的?期待你的答案
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
    发表于 2007-2-27 16:54:14 | 只看该作者
    如果是在一张图片上的该方法就行不通了,期待有兴趣的高手解决一下
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-25 17:49 , Processed in 0.090033 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表