zoukankan      html  css  js  c++  java
  • selenium2学习:验证码

    1.1     验证码

    1.1.1      去掉验证码

    如果是正式环境,则不安全。

    1.1.2      设置万能验证码

       去掉验证码的主要问题是安全,为了应对在线系统的安全威胁,可以在线修改程序时不取消验证码,而是在程序中留一个后门,即设置一个万能验证码。只要用户输入这个验证码,程序就认为验证通过,否则就判断用户输入的验证码是否正确。

    from random import randint

     

    #生成一个100到999之间的随机数

    verify = randint(1000,9999)

     

    print("生成的随机数是:%d"%verify)

    num = input("请输入随机数:")

    print(num)

    num = int(num)

    if num ==verify:

        print("登录成功!")

    elif  num ==132741:

        print("登录成功!")

    else:

    print("验证码有误!")

    1.1.3      验证码识别技术

    Python-tesseract识别图片验证码。

    1.1.4      记录cookie

    通过向浏览器中添加cookie可以绕过登录的验证码。在登录的时候勾选记住密码,当下次访问该网站时就默认处于登录状态了。记住密码功能其实就记录了浏览器的cookie中。通过webdriver来操作浏览器的cookie,可以通过add_cookie()方法将用户名密码写入浏览器cookie,当再次访问时,服务器将直接读取浏览器的cookie进行登录。

    from selenium import webdriver

    import time

    driver = webdriver.Firefox()

    driver.get("http://192.168.1.51/oneCard/login")

    #将用户名密码写入浏览器cookie

    driver.add_cookie({'name':'username','value':'super'})

    driver.add_cookie({'name':'password','value':'asd,./123*.'})

    #再次访问网站,将会自动登录

    driver.get("http://192.168.1.51/oneCard/login")

     
     
  • 相关阅读:
    good
    C# 调用控制台程序,并获取输出写入文件
    正则基础之——环视(Lookaround)
    C# 正则表达式及常用正则表达式
    c# winform 关于DataGridView的一些操作(很全,绝对够用)
    [bzoj4542][Hnoi2016]大数——同余+莫队
    [bzoj4010][HNOI2015]菜肴制作——拓扑排序
    [bzoj5285][Hnoi2018]寻宝游戏——思维+排序
    NOIP2018游记&&总结
    [bzoj5289][Hnoi2018]排列——贪心+堆
  • 原文地址:https://www.cnblogs.com/jxba/p/8993530.html
Copyright © 2011-2022 走看看