我正在为我的web应用程序开发一个用CodeIgniter编写的应用程序接口。这是我第一次写API。
对API施加API限制的最佳方式是什么?
耽误您时间,实在对不起
发布于 2010-11-08 17:34:23
在数据库中记录用户的凭证(如果他必须提供它们)或他的IP地址、请求(可选)和时间戳。
现在,对于每个请求,删除时间戳超过一小时的记录,检查表中仍有多少用户的请求,如果超过限制,则拒绝该请求。
简单的解决方案,但请记住,可能会有更好的解决方案。
非常直截了当。如果这不能回答您的问题,请提供更多详细信息。例如,我看不出这与codeigniter有什么关系。
发布于 2010-11-08 19:36:48
您可以使用我的REST_Controller为您完成基本上所有这些操作:
http://net.tutsplus.com/tutorials/php/working-with-restful-services-in-codeigniter-2/
我最近在中添加了一些关键的日志记录,请求限制功能,因此这一切都可以通过配置来完成。
发布于 2010-11-09 01:45:25
您可以做的一件事是考虑使用外部服务来施加API限制,并提供API管理功能。
例如,我的公司WebServius ( http://www.webservius.com )提供了一个位于API前面的层,可以提供每个用户的节流(例如,每个API键每小时的请求数)、API范围的节流(例如,每小时的总请求数)、自适应节流(其中节流限制随着API响应时间的增加而减少)等,其他功能很快就会出现(例如,基于IP地址的节流)。它还提供了一个用于用户注册/发布API密钥的页面,以及许多其他有用的功能。
当然,您可能还想看看我们的竞争对手,例如Mashery或Apigee。
https://stackoverflow.com/questions/4112556
复制相似问题