问题标签 [ratelimit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - API 速率限制是否将 javascript 请求视为来自域的 IP 或用户的 IP?
API 具有基于来自某个 IP 地址的命中次数的速率限制。
我的请求是 AJAX - 所以它们是由位于页面某处的 javascript 执行的。
受速率限制的 IP 是否显示为客户端的或站点的?
django - 使用 Nginx 限制 Django 管理员登录以防止字典攻击
我正在研究限制 Django 管理员登录以防止字典攻击的各种速率方法。
这里解释了一种解决方案:http: //simonwillison.net/2009/Jan/7/ratelimitcache/
但是,我更喜欢使用 Nginx 在 Web 服务器端进行速率限制。
Nginx 的limit_req
模块就是这样做的 - 允许您指定每分钟的最大请求数,并在用户过去时发送 503:http ://wiki.nginx.org/NginxHttpLimitReqModule
完美的!我以为我已经破解了它,直到我意识到 Django 管理员的登录页面不在一个一致的位置,例如 /admin/blah/ 为您提供了该 URL 的登录页面,而不是跳转到标准登录页面。
所以我无法匹配 URL。谁能想到另一种方法来知道正在显示管理页面(正则表达式响应 HTML?)
mysql - 查找存储在 MySQL 行中的日期,在一个查询中查找该日期之后的所有条目
我有一个存储用于速率限制目的的操作的表。我想要做的是获取具有“key_action”(开始限速时间的操作)的最新行,然后找到该日期之后的所有条目。
我目前能想到的唯一方法是使用两个查询:
SELECT created_at FROM actions WHERE key_action=1 ORDER BY created_at DESC LIMIT 1
SELECT * FROM actions WHERE created_at >= (created_at from query 1)
是否可以将这两个查询合并为一个?
php - 多个 Twitter 用户在一个站点上的提要未达到速率限制
我有大量的 twitter 用户,我希望使用 PHP 将这些推文连接到一个网站上,并在 MySQL 中缓存这些推文。但是,当我访问 API 时,我似乎被速率限制问题难住了。我对每个用户提出的每个请求似乎都算作一个请求,这是有道理的。
我注意到其他网站*成功地完成了这件事。他们是如何解决这个问题的,他们只是被列入白名单,还是我缺少一种技术?
java - 给定场景的速率限制算法建议
实现以下速率限制用例的最佳机制是什么。可以使用像令牌桶这样的通用算法,但我希望实现在 memcached 的上下文中。感谢您对此的帮助。
- 一天只允许来自客户 ABC 的 100 个电话。
- 一个小时内只允许客户 ABC 进行 50 次 API 调用。
- 在一小时内只允许客户 ABC 对任何用户 ID 进行 5 次 API 调用。
api - 我如何知道我的 IP 是否被列入 Deezer API 的黑名单?
在我的本地机器上,我访问网址http://api.deezer.com/2.0/search/artist?q=feeder并返回正确的 json 数据。在我的实时服务器上,我卷曲相同的 url,并返回 json。
http状态码是200,我不相信我已经达到了速率限制,在我的本地机器上进行了类似负载的测试。
我只能怀疑服务器上的其他人(在此处的共享主机上)已经访问了 API 并被列入黑名单,或者他们在达到速率限制时仍然响应但没有通知这一事实。
有人有什么建议吗?目前没有等待几个小时再试一次,我很难过。
(PS 有足够代表的人想要制作“Deezer”标签吗?)
java - github java api 授权我的应用程序的最佳方式
我正在使用 github java api,我想获取有关存储库及其用户的信息。我的问题是如何授权我的请求才能完全访问 api(5000 个请求/小时)。此外,如果有办法随时查看我的应用程序还有多少请求,以免超出 api 速率限制,那将是非常有益的。下面的代码是我现在所做的,但是使用此代码我超出了速率限制。
java - java速率限制逻辑
我正在寻找算法来设计Java中的多线程应用程序,其中每个线程将数据写入数据库。我想控制每秒写入 db 的记录数。
应用程序获取 RPS(每秒记录数)参数并大约生成那么多负载。
python - Django RateLimit 403 页面没有被替换
我已经在我的项目上设置了 django-ratelimit,它似乎工作正常,除了当访问者达到他们的限制时我无法删除丑陋的 403 错误页面。正如他们在他们的文档中所说的那样,我正在尝试替换它,内容如下:
有一个可选的中间件可以使用自定义视图来处理 Ratelimited 异常。要使用它,请将 ratelimit.middleware.RatelimitMiddleware 添加到您的 MIDDLEWARE_CLASSES(靠近列表底部)并将 RATELIMIT_VIEW 设置为您要使用的视图的完整路径。
RATELIMIT_VIEW 中指定的视图将获得两个参数,请求对象(在 ratelimit 处理之后)和异常。
这是我的代码中的内容:
设置:
意见:
我究竟做错了什么?
machine-learning - 在速率受限的 API 上预测下一次重试前的延迟
我正在使用一个对我进行速率限制的 API,如果我过于频繁地访问 URL,它会迫使我等待并重试我的请求。假设为了争论,我不知道具体的速率限制阈值是什么(即使我知道也不想将一个硬编码到我的应用程序中)。
我可以进行 API 调用并观察它是否成功,或者回复说我受到速率限制的响应,然后稍后再试一次,我可以记录在成功完成 API 之前所有尝试所用的总时间称呼。
哪些算法非常适合预测在达到速率限制后重试 API 调用之前需要等待的最短时间?