0

如果我对我的 Web 应用程序使用 RSA 身份验证,我仍然需要使用令牌来处理 CSRF 攻击,否则 RSA 身份验证会处理它。

4

1 回答 1

0

这取决于您的实现... rsa 本身与 csrf 无关...

身份验证模式可以提供一些保护(例如,如果您让用户签署它的所有输入),但老实说:保护用户输入免受 csrf 的影响是什么?

在服务器端,登录时创建一个存储在用户会话中的盐,每次需要保护用户输入时计算 hash(current_timestamp, salt),并将该值 + current_timestamp 作为隐藏字段提供给表单......当你接收用户输入,获取盐,并重新计算值......如果那个与您从客户端获得的匹配,则输入不太可能来自 csrf ...

由于您从不将盐暴露给用户,因此用户或攻击者无法获得该盐(除了直接从会话数据库中获取它,这意味着系统受损)...

于 2013-06-02T13:58:42.883 回答