REST API获取调用我的API URL的调用者域或服务器IP地址

时间:2015-10-09 08:36:54

标签: api

我使用REST创建了一个API,我想知道调用我的API URL的域名或服务器IP地址,

我的网址是www.abc.com/webapi/api/c3c/pushdata

并且假设有人创建了一个脚本来调用我的网址,可以说他在他的网址中调用了我的API:http://www.example.com/call.php

我需要知道域名" example.com"或者"服务器IP地址"这样我就可以检查这个域是否允许/拒绝我的调用我的API。

2 个答案:

答案 0 :(得分:1)

如果您使用的是php,那么这当然是获取IP地址的方法之一(仍取决于服务器所在的位置和配置):

$_SERVER['REMOTE_ADDR']

请注意,使用此$ _SERVER数组获取IP地址存在一些问题。我可以推荐你到Virendra Chandak在Getting real client IP address in PHP

的帖子

我自己的想法是,从客户端检索的大多数变量,值或数据不能信任,因此可以很好地挖掘其他方式。

答案 1 :(得分:0)

这实际上取决于您希望获取此IP地址的位置和方式。您是否需要从REST API控制器的源代码中获取它?然后它取决于您的语言(和您正在使用的框架)。通常可以将HTTP请求对象注入控制器并从那里获取IP。

否则,您可以在某种服务器日志中找到调用者的IP(来自HTTP标头)。

您应该在需要的地方指定情境和技术堆栈。