如何查看什么来源称为我的网站页面PHP

时间:2018-11-22 11:23:44

标签: php json api postman

我想知道是否有可能看到什么资源正在调用我的网站页面(PHP文件)。
我创建了一个API PHP页面,该页面处理JSON POST数据并将其保存到数据库。
现在,我想知道什么资源正在调用我的PHP页面。
例如,我使用POSTMAN将数据发布到页面中。
有可能看到邮递员打来的电话吗?
可以通过PHP获得该信息吗?

1 个答案:

答案 0 :(得分:0)

您可以了解有关请求的一些信息,例如:

1) IP地址:

// Read the IP from who is really making the request (a user or a proxy)
$ipAddress = $_SERVER['REMOTE_ADDR'];
// Read the IP that the proxy is telling us making the request.
$ipAddress = isset($_SERVER['HTTP_X_FORWARDED_FOR']) ? $_SERVER['HTTP_X_FORWARDED_FOR'] : '';

如果请求的源位于代理后面,则$ _SERVER ['REMOTE_ADDR']将具有代理的IP,因此您可以检查HTTP_X_FORWARDED_FOR标头,但很容易被欺骗,除非您可以控制代理或是受信任的代理。

2)用户代理:

// Using global $_SERVER
$userAgent = $_SERVER['HTTP_USER_AGENT'];

// Using get_browser function you can get an array with the information
$arrayBrowserInfo = get_browser($userAgent, true);

用户代理也很容易被欺骗,因此您不能相信它是正确的。

3)引荐来源:

$referer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '';

引荐来源标头是可选的,并且没有很多浏览器发送给XHR请求。

如果您要构建API,则可以根据用例要求提供必需的标头或参数,以告诉您有关谁在执行请求的更多信息(Android App,iOS App,网站等)。 ,很容易被欺骗。

因此,我不建议将其用于安全性验证,但是如果您只想知道要记录的调试调用,则可能会有用。