代码之家  ›  专栏  ›  技术社区  ›  fl00r

CSRF保护和跨站点表单访问

  •  1
  • fl00r  · 技术社区  · 16 年前

    我正在进行跨站点身份验证(有些域已获得公共身份验证)。所以我想把认证数据(登录名,密码)从其他人发送到主域。

    我该怎么用 protect_from_forgery 如何检查从有效域接收的数据?

    我现在想的是关掉 防止伪造 对于会话控制器并检查接收数据的域名。

    但也许我可以配置csrf保护不只是一个域?

    2 回复  |  直到 16 年前
        1
  •  1
  •   rook    16 年前

    你想要的是csrf漏洞的定义。强迫用户登录或注销通常对攻击者没有帮助。要完成此黑客攻击,攻击者必须知道用户名和密码,这就破坏了在另一个用户的已验证会话上“会话骑行”的目的。作为一个写 CSRF exploits 我告诉你这不是什么大问题。

    修补此问题的一个简单方法是检查referer并确保登录请求来自域的白名单。另一种修补方法是使用类似capthca的recapthca。是的,你读对了。之所以有效,是因为攻击者无法使用javascript或flash解决capthca以“伪造”有效的登录请求。

        2
  •  2
  •   shingara    16 年前

    该保护与检查会话[:“csrf”令牌一起工作,因此,如果您的所有域中的会话都相同,则“防止”伪造可以工作。

    推荐文章