Могу ли я использовать IP-адреса для ограничения доступа к API - PullRequest
2 голосов
/ 14 июня 2010

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

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

Ответы [ 4 ]

2 голосов
/ 14 июня 2010

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

1 голос
/ 14 июня 2010

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

1 голос
/ 14 июня 2010

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

0 голосов
/ 20 августа 2011

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

...