• 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")

     
     
  • 相关阅读:
    设计模式:迭代器模式
    设计模式:观察者模式
    设计模式:解释器模式
    设计模式:策略模式
    设计模式:状态模式
    设计模式:代理模式
    strtok函数
    人们眼中的程序员
    如何用C语言获取文件的大小
    C++著名库的比较和学习经验
  • 原文地址:https://www.cnblogs.com/jxba/p/8993530.html
Copyright © 2020-2023  润新知