Python 实战 · 从 0 到 1 搭建直播视频平台
Barry
某上市公司技术研发总监
3717 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 42 讲
Python 实战 · 从 0 到 1 搭建直播视频平台
15
15
1.0x
00:00/00:00
登录|注册

27|初识认证机制:认证机制能解决哪些问题?

你好,我是 Barry。今天是端午假期,祝你节日快乐,给假期仍然在学习的你点赞。
上节课,我们利用 Flask-Restful 实现了接口规范化开发,相信你已经可以根据功能需求独立开发接口了。
但是在项目开发中,我们单独考虑开发功能还不够,还要在用户使用系统期间,保护用户隐私和数据安全。例如在系统中需要验证用户的身份,保护用户的个人信息和隐私。这就引出了我们这节课的核心—— Flask 认证机制。

认证机制能解决什么问题

接下来,我们主要从四个维度来看看,在系统中认证机制都能够解决哪些问题。
首先是保护用户隐私和访问权限。如果一个系统没有身份认证机制,用户提交的个人信息和敏感数据等就会暴露在公共网络上。这样操作会存在大量风险,例如黑客可能会利用这些信息来进行诈骗、恶意攻击以及其他非法活动。此外,系统如果没有足够的访问控制,也可能导致用户无法访问他们需要的资源或服务。

其次,要防止异常访问和攻击。在系统中有了认证机制,只有经过认证的用户才可以访问特定的资源,从而保护应用程序免受未经授权的访问和攻击。比较典型的案例就是防止恶意的 CSRF 攻击,保护系统免受盗用用户身份的攻击等。
第三,就是建立用户对系统的信任。认证机制可以为系统用户提供更安全的使用体验。对用户的各类数据做好严密保护,这有助于我们建立系统和用户之间的信任关系,否则将无法留存用户。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

Flask中的认证机制是系统开发中的重要组成部分,涉及用户隐私保护、防止异常访问和攻击、建立用户信任以及优化程序流程等关键问题。文章介绍了Flask中常用的认证方式,包括Cookie、Session和Token,重点探讨了Token认证机制,特别是JWT和自定义Token两种类型的特点和适用场景。此外,文章还详细介绍了日志记录和Redis存储在认证过程中的重要作用,以及如何在项目中实现日志记录和使用Redis存储用户Token和相关信息。通过文章的阅读,读者可以全面了解认证机制的重要性和相关技术特点,为快速掌握相关知识提供了有力支持。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《Python 实战 · 从 0 到 1 搭建直播视频平台》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(2)

  • 最新
  • 精选
  • coderHOW
    思考题:使用请求拦截,每次请求接口可以带上token等信息 老师,我这边有几点不太明白 1、使用token服务端不需要保存用户认证和会话,但是又需要内存存token,在过期时间之前都会保存这个token吗,理论上如果用户量太多内存也会有压力吧 2、如果发给客户端的token保存在cookie中,可能也会被其他人拿到伪造用户登录行为,这个如何避免呢(我想到就是可以在荷载数据中加入ADDR、UA这样的信息来识别) 3、前端发来的token如果还没到过期时间,但是redis又查不到,可不可以通过解密token然后根据荷载数据的某些信息通过mysql去查数据返回呢

    作者回复: 1、是的,当用户量增加时,服务端需要分配更多的内存来存储所有的token。然而,可以通过一些技术来减轻内存压力,当然可以通过一些方法来进行优化:可以通过设置较短的过期时间可以减少服务端内存的使用。 2、可以使用HTTPOnly和Secure属性来防止token被恶意获取。HTTPOnly属性可以防止JavaScript访问cookie,而Secure属性可以确保只有在安全情况下才能发送cookie。当然UA的方式也是OK的 3、通过这样的方式你需要确保Redis中保存的token是经过加密的,以确保其安全性,如果Redis和MySQL之间的数据同步出现故障或错误,可能会导致安全漏洞和其他问题。所以这种方式还是存在一定的风险。

    2023-06-23归属地:广东
    1
  • peter
    请教老师两个问题: Q1:OAuth2会用到吗? Q2:http header中保存token,是保存在哪个字段? 另外,token保存在cookie中,session也是基于cookie,token与session有什么区别?

    作者回复: 1、在使用 Flask 框架构建认证机制时,OAuth2 是一个常见的选择,但它并不是唯一的选择。OAuth2 是一种开放授权标准,它允许用户授权第三方应用程序访问其账户信息,而无需共享其用户名和密码。这个你可以尝试进行应用,项目中主要还是通过token来实现。 2、在 HTTP header 中,通常会将token保存在一个特殊的字段中,这个字段被称为 "Authorization" 字段。当使用 OAuth2 等认证协议时,Authorization 字段通常会被用来传递访问令牌,以便客户端可以向服务器证明其身份并获取访问权限。 3、对于Token和session的区别,Token 通常是基于 JSON Web Token(JWT)标准的,它包含了用户的标识符和其他相关信息,以及签名来确保令牌的安全性。Session(会话)是一种服务器端的身份验证机制,服务器为每个用户创建一个会话对象,该对象包含了用户的身份验证信息和会话状态。 这是二者的区别

    2023-06-23归属地:北京
收起评论
显示
设置
留言
2
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部