不用密码的用户系统实现
2016-02-29 14:15
323 查看
已发在github
[]https://github.com/raptorz/userga]以下直接取自README.md
一个可以不用密码的用户系统。默认只需要输入email即可注册或登录,如果需要密码,可以使用Google Authenticator扫描邮件中的二维码,使用GA生成的一次性密码登录。基本功能
注册:输入email即完成注册或登录。提示:本网站可以不用设置密码,直接使用email登录,如果需要设置密码,请收取邮件,并按邮件中的指示操作。登录:未设置密码:输入email直接登录。已设置密码:输入email后弹出密码提示,需要输入GA生成的一次性密码登录。
设置密码:邮件内容:祝贺您成功注册本网站,您现在可以直接使用email登录网站
安装
[code]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,内容为:[code]{ "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分钟)
相关文章推荐
- Android常见控件— — —Button
- nsq源码阅读笔记之nsqd(四)——Channel
- 带参数的 main()
- 关于java以竖线作为分隔符split字符串的问题
- 关于Category中增加属性的问题
- JSP页面中注释<!-- --> 和 <%-- --%>的区别
- Google Chart API
- 1048 Find Coins
- css获取背景中指定的位置
- 前端错误知识提示积累
- 文件分割和合并
- 项目管理思想在标准实施过程中的应用
- 使用GSON解析多重嵌套的对象解析
- MapWinGIS编程(二)
- 数组去除重复数据
- iOS开发:WebKit、Safari以及SafariViewController
- 关于Windows下如何查看端口占用和杀掉进程
- 对于strrstr函数的实现
- 音视频解决方案开源项目
- 表格字段过长,用CSS实现省略号显示