使用UID作为密钥是否可以防止CSRF攻击?

时间:2020-10-16 02:43:21

标签: security csrf

已登录到应用程序的用户的UID用作在数据库中进行记录的键,如下例所示:

https://example.com/foo/uid/setitem

即使采用这种实现方式,用户仍然可以对该应用程序执行CSRF攻击吗?怎么样?

1 个答案:

答案 0 :(得分:-1)

如果uid是无法猜测或获取的哈希或某些字符串。您的方法可以防止CSRF。但是这种方法不是一个好方法。因为uid不会改变(通常一个用户的uid永远不会改变),所以如果攻击者得到了这个,他就可以进行攻击。因此,为了防止CSRF,最好的方法是为您要保护的api生成CSRF_token。对于这些api,当客户端请求时,它必须包含CSRF_token(以标头,帖子形式或url本身。由于XSS攻击可能会获得cookie,因此不要包含在cookie中)。