这是跨站请求防伪的有效方法吗?

时间:2014-03-16 05:19:47

标签: oauth-2.0 google-oauth

我正在实施“使用Google plus登录”。

Google的说明说,当用户请求我的登录HTML页面时,我必须发送防伪令牌。

我的理解是,我在登录页面的HTML中加入了防伪标记,用户点击“登录Google +”按钮,如果登录成功,Google会将代码返回给我的登录信息页。然后我的登录页面必须通过ajax POST请求将此代码返回给我的服务器。

据我所知,除了返回Google给我的代码外,我还必须发回自己的防伪令牌。然后我查找此标记以确保它是我之前发送的标记。

所以这是我的背景和问题。

背景:

我不希望在后端存储令牌,我希望我的登录页面是无状态的。我的理解是,解决这个问题的方法是让我的防伪标记成为我的服务器签名的密钥和随机数。当我收回它时,我会检查以确保密钥与发送的密钥相同。

我的问题是:

这种方法有效吗?当然,攻击者可以简单地询问我的登录页面,从中取出防伪标记,并将其与他们以某种方式被劫持的请求一起发回。 或者我在某种程度上意味着将我的服务器生成的防伪令牌专门绑定到特定的用户请求,例如通过Google plus API将我的防伪令牌打包,然后在我交换它时在服务器端读取令牌?

我的思绪在弯曲。我不确定我是否理解这一点。

0 个答案:

没有答案