1

假设用户在他们的帐户上有私人内容。像任何社交网站一样,当他们浏览他们的帐户时,用户可以看到很多关于他们的事情。所有这些请求都被标记了吗?制作一个模式并标记所有请求并在处理它们之前检查它们是一个好主意吗?有什么建议吗?
所有基于私人账户系统的应用程序是否都标记了所有请求?

PS:这是一种可能的攻击:用户登录社交网站(“x”),保持登录状态,转到另一个网站(“y”)。网站 y 有一个按钮,用于获取 x 网站的首页内容,其中包括用户的最新帖子。由于用户已登录,数据将显示...

您将如何为每个请求设置一个 csrf 令牌机制?设置一个中间进程,如果请求有效,则将请求重定向到最终处理页面?或...任何其他想法?我错了吗?我看错了吗?

在这里,我问了同样的问题并得到了正确的最终答案:https ://stackoverflow.com/a/10006276/1284817 。此处经过验证的答案也很适合阅读。

4

1 回答 1

0

CSRF 令牌通常仅附加到代表用户更改事物的事物(例如 POST 请求)。保护攻击者免于查看私有数据要简单得多,而且确实适用于所有流行的浏览器:

为了保护攻击者查看私有数据(而不是修改它),您通常会依赖浏览器的同源策略,并确保您的请求不支持跨域资源共享

在您建议的攻击的具体示例中,攻击者请求 example.org/private 并且浏览器将在我的浏览器上引发如下所示的异常:

XMLHttpRequest cannot load http://example.org/private. Origin http://attacker.com is not allowed by Access-Control-Allow-Origin.
于 2012-04-04T06:43:39.090 回答