用户登录:Geetest滑动验证

本文探讨了用户登录过程中滑动验证的流程,包括前后端交互、JS逻辑实现和问题分析。在遇到滑动块大小调整无效及账号密码错误后验证码无法刷新的问题上,期待得到技术专家的指导。
摘要由CSDN通过智能技术生成

用户登录时滑动验证

js采用的AES加密和view视图中的AES解密可以看这篇文章处理

滑动验证还有两个问题没有解决:

  1. 显示滑动验证码的块设置大小调整,无用
  2. 用户账号密码输入错误后,要进行验证码刷新,无用

希望有看到的大佬能指点下

1. 流程分析:
  1. 进入到登录界面

  2. 第1次向后端发起GET请求:向后台发送Geetest配置信息,获取到验证码显示

  3. 第2次向后端发起POST请求:构造发送的参数信息,和验证码信息,到后端进行校验

  4. 后端校验:

    1. 先校验验证码信息
      • 失败:刷新验证码,提示验证码错误
    2. 校验用户登录信息
      • 失败:刷新验证码,提示用户账号或者是密码错误
    3. 成功后返回状态码到前端
  5. 前端进行页面跳转

2.安装滑动验证的模 块
pip install social-auth-app-django
pip install geetest
3. url配置
path('slide/', views.show_slide_index,name="slide"), # 显示主页
path('slide/register-slide/<t>/', views.SlideInitView.as_view(), name="init"),  # 初始化
path('slide/login/', views.SlideLoginView.as_view(),name="login"), # 登录验证
4. html
{% extends "base/base.html" %}
{% load staticfiles %}
{% block title %}
    登录
{% endblock %}

{% block css %}
    <link rel="stylesheet" href="{% static 'css/authPro/auth.css' %}">
{% endblock %}

{% block main %}
    <style>
        #captcha {
    
            height: 50px;
            width: 440px;
            border-radius: 5px;
            display: inline-block;
        }

        #text {
    
            height: 50px;
            width: 440px;
            text-align: center;
            border-radius: 5px;
            background-color: #3F7F5F;
            color: #BBBBBB;
            font-size: 14px;
            letter-spacing: 0.1px;
            line-height: 50px;

        }

        #wait {
    
            display: none;
            height: 50px;
            width: 440px;
            text-align: center;
            border-radius: 5px;
            background-color: #3F7F5F;
        }

        .loading {
    
            margin: auto;
            width: 70px;
            height: 20px;
        }

        .loading-dot {
    
            float: left;
            width: 8px;
            height: 8px;
            margin: 18px 4px;
            background: #ccc;

            -webkit-border-radius: 50%;
            -moz-border-radius: 50%;
            border-radius: 50%;

            opacity: 0;

            -webkit-box-shadow: 0 0 2px black;
            -moz-box-shadow: 0 0 2px black;
            -ms-box-shadow: 0 0 2px black;
            -o-box-shadow: 0 0 2px black;
            box-shadow: 0 0 2px black;

            -webkit-animation: loadingFade 1s infinite;
            -moz-animation: loadingFade 1s infinite;
            animation: loadingFade 1s infinite;
        }

        .loading-dot:nth-child(1) {
    
            -webkit-animation-delay: 0s;
            -moz-animation-delay: 0s;
            animation-delay: 0s;
        }

        .loading-dot:nth-child(2) {
    
            -webkit-animation-delay: 0.1s;
            -moz-animation-delay: 0.1s;
            animation-delay: 0.1s;
        }

        .loading-dot:nth-child(3) {
    
            -webkit-animation-delay: 0.2s;
            -moz-animation-delay: 0.2s;
            animation-delay: 0.2s;
        }

        .loading-dot:nth-child(4) {
    
            -webkit-animation-delay: 0.3s;
            -moz-animation-delay: 0.3s;
            animation-delay: 0.3s;
        }

        @-webkit-keyframes loadingFade {
    
            0% {
    
                opacity: 0;
            }
            50% {
    
                opacity: 0.8;
            }
            100% {
    
                opacity: 0;
            }
        }

        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值