模块内实现一个 NamedTuple 类,其构造函数接受 iterable 和 fields 两个参数,分别用于传递数据及其对应的别名 NamedTuple 需要支持通过位置索引和别名属性两种方式去获取数据 NamedTuple repr... Read More
作者: 流沙
Django中间件实现第三方用户登陆状态检测
由于项目需要使用公司内部统一权限登陆平台,所以不能使用Django内置的认证模块, 使用第三方认证系统,要解决每个URL登陆验证的问题 代码实现: # ~*~ coding: utf-8 ~*~ from django.http import... Read More
python基于谷歌身份验证器的动态密码实现
在很多网站都有动态密码验证来增加安全性,例如银行的U盾,网易的将军令等都是基于动态密码来进行身份验证。动态密码有基于次数和基于时间来刷新的协议,现在基于谷歌的身份验证器来做一个基于时间的动态密码验证系统,默认30秒刷新一次 实现原理: 1、服务端首先要约定一个base32的密钥,并且把这个密钥与某个账户关联。 2、在页面显示一个二维码,内容是一个URI地址(otpauth://totp/账号?secret=密钥)。 3、通过手机端的谷歌身份验证器软件扫描这个二维码,使密钥保存在手机客户端 实现过程: import... Read More