【问题标题】:CSRF session in HTML formHTML 形式的 CSRF 会话
【发布时间】:2018-12-05 11:43:22
【问题描述】:

在 CSRF 表单保护中,我们使用会话权限。让我们考虑一下我是否在同一个登录页面登录了 PHP。我想用 CSRF 保护我的登录表单。

我们如何在一页上添加两个会话。 ? 我们将在用户登录时开始一个会话,第二个在登录 CSRF 时使用。

怎么可能。请帮助发送示例演示。

提前致谢。

【问题讨论】:

  • 通常它是 cookie 和会话存储的组合。还有加密
  • 你的第一反应是不是通过谷歌搜索这个??
  • 这不是一个为你做代码的网站。显示您已经尝试过的代码,解释您的问题,然后人们会帮助您解决问题。见minimal reproducible example

标签: php security csrf


【解决方案1】:

虽然问题含糊不清,但我会尝试回答。为了保护自己免受 CSRF 的影响,原则上您需要以最简单的形式执行此操作。

  1. 当在您呈现登录表单的登录页面上发出初始请求时,生成一个唯一的令牌/哈希服务器端并将其存储在您的会话或其他数据存储中。
  2. 当您呈现登录页面时,将此令牌客户端存储在 cookie 中或作为隐藏的表单字段。
  3. 当用户填写表单并提交请求时,首先确保唯一令牌有效,然后对用户进行身份验证。如果唯一令牌不匹配,那么他们要么篡改了令牌,要么试图以自动方式发出发布请求。

CSRF 最适用于已登录的用户,因为如果令牌落入坏人之手,最坏的事情可能会发生。因此,在这种情况下,一旦该人为每个活动用户会话登录,您将为每个请求生成一个唯一令牌,以确保它实际上是发出请求的经过身份验证的用户。

希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 2021-02-24
    • 2011-09-12
    • 2013-11-19
    • 1970-01-01
    • 2020-02-10
    • 2015-05-21
    • 1970-01-01
    • 2023-01-24
    • 2014-01-25
    相关资源
    最近更新 更多