• 登录功能注意的点


    因为自动化程序,能创建无数个虚假程序,所以账号密码登录方式越来越少

            验证码可以被攻击者加ocr识别(optical character recognition 文字识别)或人工智能模型训练,就可以破解

    第三方授权登录的好处:1、安全性可能比自己做的更完善,2、用户的真实性,相对来说更有保障;3、省钱

    缺点:没手机号

    判断每次请求由哪一个用户发出的,不用session,1、因为每次请求都要查询数据库,数据库压力太大,2、如果把session存到cookie中容易被伪造,CSRF攻击(cross-site request forgery)

    CSRF攻击原理及过程如下:

    1. 用户C打开浏览器,访问受信任网站A,输入用户名和密码请求登录网站A;

    2.在用户信息通过验证后,网站A产生Cookie信息并返回给浏览器,此时用户登录网站A成功,可以正常发送请求到网站A;

    3. 用户未退出网站A之前,在同一浏览器中,打开一个TAB页访问网站B;

    4. 网站B接收到用户请求后,返回一些攻击性代码,并发出一个请求要求访问第三方站点A;

    5. 浏览器在接收到这些攻击性代码后,根据网站B的请求,在用户不知情的情况下携带Cookie信息,向网站A发出请求。网站A并不知道该请求其实是由B发起的,所以会根据用户C的Cookie信息以C的权限处理该请求,导致来自网站B的恶意代码被执行。
     

    跨站攻击的本质是, 攻击者拿着你的“身份凭证”,冒充你进行的相关攻击行为。

    解决方法:

    为了防止CSRF的发生,创建Token处理机制,根据用户信息(id等信息)加密生成加密数据返回给前端,保存到localStorage中,前端每次请求后端,都带上它,后端验证请求确实是由这个用户发来的,就通过,加密数据里包含了用户信息,不用再查数据库,Token数据结构与时间、加密签名直接相关, 这么设计的的目的如上所说,是给“身份凭证”加上时间生存周期管理和签名校验管理,如果的凭证被人拿到了, 要先判断Token中的“签名”与时间戳是否都有效,再进行正常的业务处理, 这样通过对非法数据的校验过滤,来降低CSRF攻击的成功率。
     

  • 相关阅读:
    视觉slam学习|基础篇02
    损失函数篇 | YOLOv8 更换损失函数之 MPDIoU | 《2023 一种用于高效准确的边界框回归的损失函数》
    实现集中式身份认证管理的案例
    【学习笔记】深度学习入门:基于Python的理论与实现
    面向对象的原型:prototype,原型链
    智能电销机器人,主要体现的价值是什么
    使用$indesStats查看索引使用情况
    2022年11月10篇论文推荐
    数据结构与算法编程题8
    类的成员函数与类成员的访问控制
  • 原文地址:https://blog.csdn.net/qq_45947664/article/details/126937722