码迷,mamicode.com
首页 > 其他好文 > 详细

不用密码的用户系统实现

时间:2016-02-29 18:22:20      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:

已发在github

[https://github.com/raptorz/userga]

以下直接取自README.md

一个可以不用密码的用户系统。默认只需要输入email即可注册或登录,如果需要密码,可以使用Google Authenticator扫描邮件中的二维码,使用GA生成的一次性密码登录。

基本功能

  1. 注册:输入email即完成注册或登录。提示:本网站可以不用设置密码,直接使用email登录,如果需要设置密码,请收取邮件,并按邮件中的指示操作。
  2. 登录:未设置密码:输入email直接登录。已设置密码:输入email后弹出密码提示,需要输入GA生成的一次性密码登录。
  3. 设置密码:邮件内容:祝贺您成功注册本网站,您现在可以直接使用email登录网站

安装

cd /usr/ports/databases/py-sqlite3 # for FreeBSD
sudo make PYTHON_VERSION=python3.4 install  # for FreeBSD
pip install -r requirements.txt
python userga.py

配置

配置文件为当前目录下的config.json,内容为:

{
    "db_url": "sqlite:///userga.dat",
    "web_path": "userga",
    "web_addr": "127.0.0.1",
    "web_port": 8001,
    "debug": True,
}

依赖

  • python 3.4+(其它版本未测试)
  • bottle, mako, beaker, sqlalchemy, bottle-sqlalchemy
  • bottle-plugins
  • 可选webserver前端(Apache/Nginx…)

贡献

程序代码中包含以下第三方前端库:

  • jquery
  • bootstrap

安全性

  • 安全性不高:
  • secret目前用的是base64编码随机字符后取10位,密钥空间为64^10
  • OTP code只有6位数字,在30秒内试完其实是可能的
  • 所以必须配合重试限制,目前是简单地限制30秒内只允许尝试一次(重置密码是5分钟)

不用密码的用户系统实现

标签:

原文地址:http://blog.csdn.net/raptor/article/details/50765213

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!