美文网首页
密码三部验证

密码三部验证

作者: 两分与桥 | 来源:发表于2018-06-09 23:05 被阅读18次

密码三部分验证:
--在规定的时间之内
--不能在已访问过的列表中
--密钥验证

agent 验证部分

import requests
import hashlib
import time

current_time = time.time()
app_id = '9898fdsddf3e2fd3s203dsf'  # 密钥
app_id_time = "%s|%s" %(app_id,current_time)

m = hashlib.md5()
m.update(bytes(app_id_time,encoding='utf-8'))
authkey = m.hexdigest()

authkey_time = "%s|%s" %(authkey,current_time)
print(app_id_time)
print(authkey)
print(authkey_time)

data = {'k1':{"t1":'v1'}}
response = requests.post(
    url='http://127.0.0.1:9000/assest/',
    json=data,
    headers={'authkey':authkey_time}
)
print(response.text)

server 验证部分

from django.shortcuts import render,HttpResponse
from django.views.decorators.csrf import csrf_exempt,csrf_protect
import json
import hashlib
import time
# Create your views here.
key = '9898fdsddf3e2fd3s203dsf'
auth_list = []

@csrf_exempt
def assest(request):
    if request.method == "POST":
        auth_key_time = request.META['HTTP_AUTHKEY']
        client_authkey,client_time = auth_key_time.split('|')
        server_time = time.time()
        # 第一层是验证时间,10为秒数
        if server_time-10 > float(client_time):
            # 时间太久远了
            return HttpResponse("时间超时")

        # 第二层检测是否访问过,访问过的记录在 auth_list
        if auth_key_time in auth_list:
            # 访问过的
            return HttpResponse("auth key 已访问过了")

        m = hashlib.md5()
        key_client_time = "%s|%s" %(key,client_time)
        m.update(bytes(key_client_time, encoding='utf-8'))
        authkey = m.hexdigest()

        # 第三层,验证密钥是否正确
        if authkey != client_authkey:
            return HttpResponse("密钥验证失败")
        data = json.loads(str(request.body,encoding='utf-8'))
        print(data)
        # 这里少做了一步,就是把过时的key从list中删除
        auth_list.append(auth_key_time)
        print("auth_list = ",auth_list)
        return HttpResponse("验证成功")

相关文章

  • 密码三部验证

    密码三部分验证:--在规定的时间之内--不能在已访问过的列表中--密钥验证 agent 验证部分 server ...

  • 生活是个bug

    请输入账号密码, 密码错误!x3 忘记密码, 验证问题, 验证成功, 重置密码,请输入新密码, 确认密码, 对不起...

  • 参考的文章

    验证码 图片验证码前端怎样获取后端生成的验证码图片,并且点击图片的时候改变验证码 记住密码 前端记住密码功能密码安...

  • 正则表达式

    密码验证正则

  • 3/5 iview表单中注册密码验证、发送表单请求问题

    iview表单中注册密码验证 针对密码这一块内容 因为我在这里踩坑了 iview的密码验证还有手机验证不是很完整的...

  • GIT常见问题解决

    ssl验证失败 10054 用户名密码验证错误 清除window记录的凭证 解决密码错误权限验证失败,重新弹出账号...

  • 常用正则表达

    用户名验证: 电话号码验证: 邮箱验证: 密码验证 身份证验证: 昵称验证: 车牌号验证:

  • 验证密码

    【*易】验证码:619194,您正在登录网易手机帐号(若非本人操作,请删除本短信)。每当我们登陆任何账号时,服务商...

  • antDesign注册时,验证两次密码是否相同

    输入密码需要验证密码的合法性长度 大小写,必填等确认密码 需要验证 必填和是否相同 第一种情况 正确输入密码 ,正...

  • 字符串验证

    密码复杂度验证

网友评论

      本文标题:密码三部验证

      本文链接:https://www.haomeiwen.com/subject/phbxeftx.html