【发布时间】:2011-08-20 14:14:46
【问题描述】:
我想提供 jsonp,以便其他站点可以从我的站点获取 json 数据。我知道如果我使用 cookie 对用户进行身份验证会很危险,因为浏览器会将 cookie 连同所有请求一起发送到我的网站,因此恶意页面可能会在不询问用户的情况下代表我的用户发出经过身份验证的请求。
对我的服务的所有请求都必须使用请求上设置的特殊标头X-AG-AUTH 进行身份验证。必须在该标头中设置标识用户的秘密令牌。
如果用户不提供秘密令牌,恶意网站是否能够通过 jsonp 从我的服务中获取数据?
【问题讨论】:
-
是不是恶意用户可以从真实用户那里获取认证密钥,然后在他们不知情的情况下窃取它?因为 JSONp 的全部意义在于它可以被 JS 使用,并且 JS 将 100% 公开。可以使用的一种技术(但从用户的角度来看非常麻烦)是将密钥与域相关联,而不是与用户相关联。然后当你收到请求时,你可以检查referrer。
-
请求还必须为每个用户设置一个秘密,这样一个用户就无法访问另一个用户的数据。秘密不一定是用户的主密码,而是一些标识站点/用户组合的标识符。但我的问题是:如果用户不给网站他的
标签: javascript json jsonp csrf