-
注册注意要点:
- 用户名合法性检测(长度、敏感词、重复、特殊字符)
- 密码salt加密,密码强度检测
- 用户邮件/短信激活
-
登录注意要点
- 服务器密码校验/三方校验回调,token登记
- 服务器端token关联userid
- 客户端存储token(app存储到本地,浏览器存储cookie)
- 服务端/客户端token的有效期设置(记住登录)
- 注意:token可以是sessionid,或者是cookie里面的一个key
- 服务器密码校验/三方校验回调,token登记
-
登出注意要点
- 服务端/客户端token删除
- session清理
-
页面访问注意要点
- 客户端:带token的HTTP请求
- 服务端:
- 根据token获取用户的id
- 根据用户的id获取用户的具体信息
- 用户和页面的访问权限的处理
- 渲染页面跳转页面
-
Flask-login的注意要点
- 官方参考文档为::http://flask-login.readthedocs.io/en/latest/
- 1、初始化:login_manager = LoginManager(app) # 在init文件里面设置
- 2、回调函数(通过session里面的id获取用户的信息),这model.py中设置
@login_manager.user_loader def load_user(user_id): return User.query.get(user_id)
- 3、User用户接口
- is_authenticated
- is_active
- is_anonymous
- get_id()
- 核心函数和属性
- login_user(user)
- logout_user()
- login_required
- current_user
-
用户数据安全性
- 1、HTTPS注册页
- 2、公钥加密私钥解密,支付宝h5页面的支付密码加密
- 3、用户密码salt防止破解
- 4、token的有效期设置
- 5、单一平台的单点登录,登录IP异常检测
- 6、用户状态的权限判断
- 7、添加验证码机制,防止爆破和批量注册
-
个人页面的Ajax异步数据交互注意要点
- 页面的不刷新
- 体验更好
- 传输数据更少
- APP和网站通用
注册页面加盐
加盐可以防止破解,使得数据库的密码为加密过后的字符串,防止数据库信息丢失导致个人信息丢失冒用,一般不能轻易的被破解:
@app.route('/reg', methods={
'post', 'get'})
def reg():
# request arg
# request form
username = request.values.get('username').strip()
password