• 【计算机网络 - 基础问题】每日 3 题(八)


    ✍个人博客:Pandaconda-CSDN博客
    📣专栏地址:http://t.csdnimg.cn/fYaBd
    📚专栏简介:在这个专栏中,我将会分享 C++ 面试中常见的面试题给大家~
    ❤️如果有收获的话,欢迎点赞👍收藏📁,您的支持就是我创作的最大动力💪
    📝推荐参考地址:https://www.xiaolincoding.com/(这个大佬的专栏非常有用!)

    22. 什么是 CSRF?

    CSRF(跨站请求伪造)是一种攻击技术,利用用户在已登录的网站上的身份认证,向其他网站发送非预期的请求。下面是 CSRF 攻击的原理和防范方法:
    原理:

    1. 用户登录:用户在网站 A 登录并获得身份认证凭证(例如,Cookie 或 Session)。
    2. 攻击链接:攻击者在准备的恶意网页或电子邮件中包含一个链接,该链接实际上是对网站 B 的请求。该请求会自动触发用户的浏览器发送已登录状态的请求。
    3. 欺骗用户:用户不知情地点击了链接,浏览器依据登录状态发送了请求进行了操作,而用户并未察觉。

    防范方法:

    1. 验证来源:在服务器端验证请求的来源,即验证 Referer 头部。确保请求来源于预期的网站,避免接收恶意请求。
    2. 使用 Anti-CSRF Token:为每个用户生成一个唯一的令牌(Anti-CSRF Token),将其嵌入每个表单或请求中。服务器验证请求时,检查令牌是否匹配,如果不匹配,则拒绝请求。
    3. 设置 SameSite Cookie 属性:在 Cookie 中设置 SameSite 属性为 Strict 或 Lax,限制 Cookie 只能由当前网站请求,防止跨域请求中携带 Cookie。
    4. 高安全级别的 Cookie 设置:设置 Cookie 的 HttpOnly 属性和 Secure 属性,防止通过脚本访问 Cookie 和仅通过 HTTPS 传输 Cookie。
    5. 在关键操作上应用双重确认:例如,在执行重要的操作(如更改密码或删除帐户)之前,要求用户再次输入密码确认。
      综合运用上述防范方法,可以有效降低 CSRF 攻击的风险。重要的是,开发者应在实施 Web 应用程序时考虑对 CSRF 攻击进行恰当的预防和防范。

    23. 什么是 CORS?

    跨源资源共享(CORS,或通俗地译为跨域资源共享)是一种基于 HTTP 头的机制,该机制通过允许服务器标示除了它自己以外的其他源(域、协议或端口),使得浏览器允许这些源访问加载自己的资源。跨源资源共享还通过一种机制来检查服务器是否会允许要发送的真实请求,该机制通过浏览器发起一个到服务器托管的跨源资源的 “预检” 请求。在预检中,浏览器发送的头中标示有 HTTP 方法和真实请求中会用到的头。

    24. 如何防止前端发过来的数据被篡改?

    意思是说在数据由用户发到服务器的途中,数据被第三方篡改,造成发送的数据和接收的数据不一致,防止此类情况的发生的常用做法如下:

    1)将要提交的参数先做加密。

    2)然后把加密的信息做一次 md5 摘要,也就是签名。

    3)然后把摘要连同参数一起回传给服务器。

    4)服务器拿到参数后,同样的方式加密做 md5 摘要。

    5)两个摘要做对比,如果不相等参数便是被篡改了,否则可信。

    PS:如果想要更安全的数据加密,可以用 RSA 算法加密。

  • 相关阅读:
    (UE4升级UE5)Selected Level Actor节点升级到UE5
    Linux 内存管理 页回收和swap机制
    设计模式之创建型模式:工厂模式
    linux常用命令
    Mybatis
    Java 学习笔记
    C/C++ 让黑框暂停的几种方法
    虚拟机备份
    CompletableFuture理解与应用
    【图神经网络】GNN的目前进展
  • 原文地址:https://blog.csdn.net/Newin2020/article/details/142298818