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

     
     
  • 相关阅读:
    [bzoj1731] [Usaco2005 dec]Layout 排队布局
    [bzoj1914] [Usaco2010 OPen]Triangle Counting 数三角形
    [bzoj1774] [Usaco2009 Dec]Toll 过路费
    [bzoj1783] [Usaco2010 Jan]Taking Turns
    [bzoj1705] [Usaco2007 Nov]Telephone Wire 架设电话线
    [bzoj1700]: [Usaco2007 Jan]Problem Solving 解题
    定时启动任务
    数据库表转javaBean
    验证码的生成
    MD5加密与验证
  • 原文地址:https://www.cnblogs.com/jxba/p/8993530.html
Copyright © 2011-2022 走看看