当前位置: 首页 > 知识库问答 >
问题:

脸书 API 速率限制 - 服务器端与客户端

琴琪
2023-03-14

据我所知,Facebook API的速率限制是每个令牌每600秒大约600次调用。

因此,当用户登录时,超过速率限制应该不会有问题,因为每个用户都有不同的用户令牌,因此每个用户每600秒将有600个呼叫的速率限制。但我担心的是,当用户浏览公共夜总会页面和活动时,当他们没有登录时,我的应用会超过速率限制,因为多个用户只能使用1个应用令牌和1个IP地址(我的html" target="_blank">服务器)。如果有多个用户同时浏览公共夜总会页面和活动,那么很容易超过速率限制。

我做了一些研究,发现我可以从客户端进行API调用,这样每个浏览公共夜总会页面和活动的用户都有不同的IP地址(用户计算机),因此每个用户每600秒将有600次调用的速率限制。但是如果我从客户端进行API调用,那么我的应用令牌和应用秘密对用户来说是可见的吗?这会有安全风险吗?有人能验证这是否正确吗?我还能做些什么来防止用户浏览公共夜总会页面和活动时超出速率限制?提前感谢。

共有1个答案

蓬英逸
2023-03-14

当从客户端进行呼叫时,您不提供应用程序机密,只提供应用程序ID,客户端可以查看该ID,因为它们已登录到您的应用程序。应用程序的Facebook cookie包含你的应用程序ID。每个客户端都有自己的令牌,他们也可以看到。

我不确定“浏览夜总会页面”在技术上是什么意思,但是如果您可以使用JavaScript将服务器的工作卸载到客户端,那就更好了。此外,在服务器端验证用户身份时,尽量不要调用$facebook-

看到这个问题:带有最少api调用的facebook应用程序的结构

 类似资料:
  • 我正在使用SpringWebFlux和netty构建一个微服务。在内部,我使用web客户端进行RESTAPI调用。如何控制通过webclient调用RESTAPI的速率?我猜backnpressure只适用于单个请求/回复,不适用于对我的微服务的多个请求。Amy pointers将不胜感激。谢谢

  • 我正在使用quarkus.rest客户端调用外部API,并希望将这些调用的频率限制在每秒50次,这样我就不会淹没外部服务。在没有侧车方法的情况下(通过代码),推荐的实现方法是什么?

  • 前面的章节介绍了所有 Redis 的重要功能组件: 数据结构、数据类型、事务、Lua 环境、事件处理、数据库、持久化, 等等, 但是我们还没有对 Redis 服务器本身做任何介绍。 不过, 服务器本身并没有多少需要介绍的新东西, 因为服务器除了维持服务器状态之外, 最重要的就是将前面介绍过的各个功能模块组合起来, 而这些功能模块在前面的章节里已经介绍过了, 所以本章将焦点放在服务器的初始化过程,

  • 我想在一些计算机之间建立点对点连接,这样用户就可以在没有外部服务器的情况下聊天和交换文件。我最初的想法如下: 我在服务器上制作了一个中央服务器插座,所有应用程序都可以连接到该插座。此ServerSocket跟踪已连接的套接字(客户端),并将新连接的客户端的IP和端口提供给所有其他客户端。每个客户端都会创建一个新的ServerSocket,所有客户端都可以连接到它。 换句话说:每个客户端都有一个Se

  • 验证 SSH 服务器证书(客户端) 和 SSH 用户证书 类似,使用客户端机构认证来验证主机。需要一个 SSH 服务器数字证书认证机构签发服务器证书,客户端只需要保存 CA 的公钥。 使用一台处于气隙系统下的计算机来生成服务器数字证书认证机构的根证书: ❯ ssh-keygen -C "SSH Server Certificate Authority" -f sshserver.root.ca 使

  • 问题内容: 这是一个设计问题。我有需要进入HTML表的数据,稍后将由用户操纵。基本上,用户将能够选择表格行中的项目。 我有两个选择-在两种情况下,我都使用AJAX来获取数据: 在服务器端使用PHP创建HTML代码,并将其作为HTML发送到客户端。然后,用户使用Javascript(本质上是jQuery)来操纵表格。 使用JSON将原始数据发送到客户端,然后使用jQuery创建HTML,然后由用户对