2010-06-14 2 views
2

У меня есть мини-API, который предназначен только для приложения, которое я создал. Служба API находится в отдельном домене для моего приложения. Я делаю jsonp-вызовы и получаю json взамен.Могу ли я использовать IP-адреса для ограничения доступа к API

Поэтому я хочу, чтобы мое приложение имело к нему доступ. Могу ли я просто перечислить серию IP-адресов для своего приложения и разрешить их? Есть ли лучший способ остановить запросы от кого-либо еще до моего API?

+1

Существует более одного решения, все зависит от того, как настроена ваша инфраструктура. – Redlab

ответ

2

Лучший способ реализации фильтрации на основе IP-адресов - на уровне веб-сервера. Вот краткое введение в access control with Apache. Если это ваш веб-сервер.

1

Если IP остается неизменным на протяжении всего времени, да, это правильная идея. Другой способ - с идентификатором и ключом, если вы ожидаете дальнейшего использования от других (динамических) ip-адресов.

1

В какой операционной системе работает служба API? Если это Linux, посмотрите на iptables, чтобы разрешить определенному IP доступ к определенному порту.

0

Честно говоря, я бы не пошел с IP-решением. Хотя это может сработать в краткосрочной перспективе, в будущем это усложнит ситуацию. Например, что, если ваш провайдер ip решает сделать сброс? Скорее всего (если вы явно не установили необходимость статического ip с вашим провайдером), ваш ip изменится. Тогда ваша программа будет ошибочной, и вы не будете знать, почему (или, что еще хуже, вы не знаете, что компьютер отключен). Кроме того, если вы хотите добавить машины, подумайте об управлении 1000 ips .... yikes! «Правильным» способом сделать это было бы аутентификация машин с использованием какой-либо другой схемы (user/pass, pki и т. Д.).