已登录到应用程序的用户的UID用作在数据库中进行记录的键,如下例所示:
https://example.com/foo/uid/setitem
即使采用这种实现方式,用户仍然可以对该应用程序执行CSRF攻击吗?怎么样?
答案 0 :(得分:-1)
如果uid是无法猜测或获取的哈希或某些字符串。您的方法可以防止CSRF。但是这种方法不是一个好方法。因为uid不会改变(通常一个用户的uid永远不会改变),所以如果攻击者得到了这个,他就可以进行攻击。因此,为了防止CSRF,最好的方法是为您要保护的api生成CSRF_token。对于这些api,当客户端请求时,它必须包含CSRF_token(以标头,帖子形式或url本身。由于XSS攻击可能会获得cookie,因此不要包含在cookie中)。