2010-06-14 214 views
2

我有一个只适用于我创建的应用程序的迷你API。 API服务与我的应用程序位于不同的域中。我使用jsonp调用它并接收json。我可以使用IP地址来限制API访问吗

因此,我只希望我的应用能够访问它。我可以列出一系列适用于我的应用程序的IP地址并允许它们吗?有没有更好的方法来阻止任何人对我的API的请求?

+1

还有更多的解决方案,所有解决方案都取决于您的基础架构设置方式。 – Redlab 2010-06-14 18:02:03

回答

2

实现基于IP的过滤的最佳方式是在Web服务器级别。这里是对access control with Apache的简要介绍。如果这恰好是你的网络服务器。

1

如果IP始终保持不变,是的,这是一个有效的想法。如果您希望从其他(动态)IP地址进一步使用,另一种方法是使用ID和密钥。

1

运行在哪个操作系统上的API服务?如果是Linux,请查看iptables以仅允许某个IP访问特定端口。

0

老实说,我不会去与基于IP的解决方案。虽然它可能在短期内发挥作用,但将来会让事情变得艰难。例如,如果您的IP提供商决定进行重置,该怎么办?最有可能的(除非你已经明确地建立了你的提供者对静态IP的需求),你的IP将会改变。然后你的程序会出错,你不知道为什么(或者更糟糕的是,你不知道现在一台计算机已断开连接)。此外,如果您想添加机器,请考虑管理1000 ips .... yikes!这样做的“正确”方式是使用其他方案(用户/通行证,pki等)验证机器

相关问题