REST API для PHP веб-приложения - PullRequest
0 голосов
/ 06 ноября 2010

Я работаю над API для моего веб-приложения, написанного на CodeIgniter. Я впервые пишу API.

Каков наилучший способ наложения ограничения API на API?

Спасибо за ваше время

Ответы [ 3 ]

2 голосов
/ 08 ноября 2010

Зарегистрируйте учетные данные пользователя (если он должен их предоставить) или его IP-адрес, запрос (необязательно) и отметку времени в базе данных.

Теперь для каждого запроса вы удаляете записи, где отметка времени больше часа назад, проверяете, сколько запросов для этого пользователя все еще находится в таблице, и, если это больше, чем ваш лимит, отклоните запрос.

Простое решение, имейте в виду, однако, там могут быть более эффективные решения.

Довольно прямо. Если это не отвечает на ваш вопрос, пожалуйста, предоставьте более подробную информацию. Я не вижу, как это связано с codeigniter, например.

1 голос
/ 08 ноября 2010

Одна вещь, которую вы можете сделать, это рассмотреть возможность использования внешнего сервиса для наложения ограничений API и обеспечения функций управления API в целом.

Например, моя компания, WebServius (http://www.webservius.com), предоставляет слой, который находится перед вашим API и может обеспечивать регулирование для каждого пользователя (например, запросов на ключ API в час), регулирование для всего API ( например, общее количество запросов в час), адаптивное регулирование (где ограничения регулирования уменьшаются при увеличении времени отклика API) и т. д., а также другие функции, которые скоро появятся (например, регулирование на основе IP-адреса). Он также предоставляет страницу для регистрации пользователей / выдачи ключей API и множество других полезных функций.

Конечно, вы также можете посмотреть на наших конкурентов, таких как Mashery или Apigee.

1 голос
/ 08 ноября 2010

Вы можете использовать мой REST_Controller, чтобы сделать все это для вас:

http://net.tutsplus.com/tutorials/php/working-with-restful-services-in-codeigniter-2/

Я недавно добавил в некоторые регистрации ключей, функции ограничения запросов, так что все это можно сделать через config.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...