【问题标题】:REST API get caller domain or server IP address calling my API URLREST API 获取调用者域或服务器 IP 地址调用我的 API URL
【发布时间】:2015-10-09 08:36:54
【问题描述】:

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

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

假设有人创建了一个脚本来调用我的 URL 假设他正在他的 URL 中调用我的 API:http://www.example.com/call.php

我需要知道域名“example.com”或“服务器 IP 地址”,以便检查该域是否允许/拒绝调用我的 API。

【问题讨论】:

    标签: api


    【解决方案1】:

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

    $_SERVER['REMOTE_ADDR']
    

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

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

    【讨论】:

      【解决方案2】:

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

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

      您应该真正指定您需要的情况和技术堆栈。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-03-10
        • 2017-04-22
        • 1970-01-01
        • 2020-10-18
        • 2014-10-06
        • 1970-01-01
        • 1970-01-01
        • 2011-04-19
        相关资源
        最近更新 更多