【发布时间】:2012-05-18 17:06:59
【问题描述】:
我正在考虑使用 Google Static Maps API,它将您的静态地图限制为 1000 个,如果您注册一个帐户,则可以更多。当客户端上的所有内容都是公开的时,他们如何跟踪帐户等?
对于大多数服务器到服务器 API,我获得了 access_token/key/etc。我可以将其传递给服务以证明我确实是我,但在客户端上任何此类 access_token/key/etc。将立即成为公众知识。
一般来说,客户端库(FB SDK、Stripe、Google 等)使用什么策略来执行身份验证,以及它们如何绕过客户端上的所有内容都是公开的这一事实?
【问题讨论】:
-
使用谷歌静态地图,仍然需要向谷歌服务器请求地图图像,因此可以在那时检测到使用情况;他们可能使用客户端发送的 HTTP 引用信息将每个请求分配给一个帐户。你到底想完成什么?
-
我想我的问题是:Google 怎么知道它实际上是我网站上请求图片的页面?是什么阻止了某人从我的一个页面复制 URL、更改参数并在自己的网站上使用它、在此过程中用完我的配额?
-
用户的浏览器在其向 Google 请求的标题信息中包含了引用页面的地址......虽然用户自己可以操纵它来误报其他人的网站(为了什么目的?),它是不是其他网站能够以您描述的方式做的事情。
-
@eggyal 你能详细说明一下吗?我不知道引荐来源头信息是如何工作的,也不知道如何获取/使用它作为服务器或使用 S3/cloudfront。我可以去学习的链接也很棒=)
-
当浏览器向网络服务器请求资源时,它会在“request headers”中包含引用页面的 URL。因此,服务器可以确定(例如)它所服务的图像嵌入在哪个页面上(假设浏览器没有被操纵以误报此信息)。您如何阅读本文取决于所使用的服务器端技术:例如,在 PHP 中,您可以只检查
$_SERVER['HTTP_REFERER']。
标签: authentication client