我已经浏览了从用户登录的银行进行 CSRF 资金转账的示例。同样,我在电子邮件更新的情况下查看了 CSRF。我想我理解了,但我不太确定它是否也适用于未经身份验证的请求/表单提交。我现在正试图弄清楚 CSRF 的影响,特别是参考下面给出的上下文。
假设一个购物网站,经过身份验证和未经身份验证的用户都可以浏览和购物。想象一个场景,未经身份验证的用户浏览器并将商品添加到他的购物车(仍然未经身份验证)。他后来决定结帐并被重定向到结帐页面而不登录(访问从未经身份验证的用户或类似的东西升级到访客用户)。用户现在输入他的个人信息(通过 SSL),如电子邮件、地址、电话、信用卡信息等。他的购物完成,他关闭了应用程序。他可以使用发送到他的电子邮件或订单号的链接来跟踪/更新订单。
由于用户是/可能永远不会在此应用程序中进行身份验证,所有表单/请求是否仍需要针对 CSRF 进行保护?如果不是,在什么情况下需要实施 CSRF 保护?
此外,对于登录用户和未经身份验证的用户,是否应该保护搜索免受 CSRF 的影响?如果你能同时回答这两个问题,那就太好了。访问者的评论(未登录)怎么样?
即使在将令牌用于 CSRF 保护之后,是否也需要进行推荐人检查?我不这么认为,仍然确定。(与上述情况无关)。
登录 CSRF 对于电子商务网站有多重要?
如果我在这里遗漏了什么,请告诉我,我仍在努力全面了解 CSRF、它在各种情况下的影响和相关风险。
PS 一些扫描器在每次提交表单时都会抛出 CSRF,而没有随机令牌或引用者检查。