在Flask中使用flask-login模块和加盐的方式进行注册和登录

本文介绍了如何在Flask应用程序中利用flask-login模块和加盐方法来实现安全的用户注册和登录过程。重点包括用户名合法性检查、密码salt加密、用户验证、token管理、HTTPS安全、单点登录、验证码机制以及Ajax异步交互。详细步骤和代码参考链接提供。
摘要由CSDN通过智能技术生成
  • 注册注意要点:

    • 用户名合法性检测(长度、敏感词、重复、特殊字符)
    • 密码salt加密,密码强度检测
    • 用户邮件/短信激活
  • 登录注意要点

    • 服务器密码校验/三方校验回调,token登记
      • 服务器端token关联userid
      • 客户端存储token(app存储到本地,浏览器存储cookie)
    • 服务端/客户端token的有效期设置(记住登录)
    • 注意:token可以是sessionid,或者是cookie里面的一个key
  • 登出注意要点

    • 服务端/客户端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 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值