19

我们希望将 ajax 风格的服务嵌入到我们的许多网站中,每个网站都有一个唯一的 api 密钥。我可以看到的问题是,由于 api 密钥存储在 javascript 文件中,因此用户可能会获取密钥,欺骗 http 引荐来源网址,并向该 api 密钥下的 api 发出数百万个请求。

所以我想知道谷歌如何防止分析欺骗?因为这使用了几乎相同的想法。

我也对其他想法持开放态度,本质上就是这个过程。

SiteA -> 用户 <-> Ajax <-> SiteB

编辑 - 有什么方法可以保护 API 在通过 ajax 调用时不被滥用?

4

2 回答 2

15

我不相信有任何这样的保护措施到位。对于其他 Google 服务(例如 Adwords)来说,流量欺骗是一个严重的问题。例如,对 adwords 出价的恶意个人可以为其竞争对手的广告产生许多虚假点击,从而推高他们的广告成本,从而推高谷歌的股价。反之亦然,人们会在他们的网站上产生虚假点击,以从他们网站上的 PayPer Click 广告中获得额外收入。

归根结底,黑客可以毫不费力地收集 10,000 多个匿名代理服务器的列表,而您对此无能为力。黑客还可以使用僵尸网络,其中一些规模达到数百万。僵尸网络产生的流量可能看起来是具有合法 Google Cookie 的合法机器,因为它们被劫持了。

实时黑名单 (RBL) 列举了许多代理和骨干机器,例如http://www.spamhaus.org运行的黑名单,并且许多合法的 IP 地址也在该列表中。还有一些代理不能用于垃圾邮件,但可以用于点击欺诈,因此它们不会出现在该列表中。

于 2010-03-10T17:35:21.533 回答
0

猜测一下,我会说密钥是公钥-私钥对的一半,它(以某种方式)将 URL 作为哈希值包含在内。这样,如果请求是针对生成密钥的 URL,则密钥将仅起作用,并且仅注册命中。您不能欺骗请求,因为如果您这样做,它会转到错误的 URL,并且什么也不会发生。

于 2010-03-10T16:34:57.160 回答