Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP:获取用户单击重定向到我的外部站点的链接的服务器的IP地址_Php_Apache - Fatal编程技术网

PHP:获取用户单击重定向到我的外部站点的链接的服务器的IP地址

PHP:获取用户单击重定向到我的外部站点的链接的服务器的IP地址,php,apache,Php,Apache,为清晰起见,请想象以下场景: 用户位于siteA.com 用户单击指向我的网站的链接: siteB.com 我的站点希望在收到请求时确定siteA.com的IP地址,以便知道为此请求链接到它的服务器的IP 使用PHP和Apache有什么方法可以做到这一点吗?如果没有,有没有办法做到这一点 <?php // Perhaps something like: $linking_server_ip = $_SERVER[LINKING_SERVER_IP]; ?> 编辑: 所以

为清晰起见,请想象以下场景:

  • 用户位于siteA.com
  • 用户单击指向我的网站的链接: siteB.com
  • 我的站点希望在收到请求时确定siteA.com的IP地址,以便知道为此请求链接到它的服务器的IP
使用PHP和Apache有什么方法可以做到这一点吗?如果没有,有没有办法做到这一点

<?php

// Perhaps something like:
$linking_server_ip = $_SERVER[LINKING_SERVER_IP];

?>

编辑:

所以$\u服务器['HTTP\u REFERER']不可靠,但我想我可以随意使用它(补充/机会主义信息,表明推荐人不是来自预期的端点,如果它不是空的,可能。尽管听起来即使如此,它也不可靠,因为任何插件客户端仍然可能破坏价值,使得合法的推荐似乎来自其他服务器)

我仍然有这个问题:

我需要验证服务器是否引用了我站点上的特定页面(该页面充当该服务器的证书)

例如,他们的页面有一个指向certificate.php?serverid=1234的链接

我想验证他们没有欺骗系统,没有在任何其他服务器上使用此证书(例如,使用siteA的siteC证书,并避免为本应在siteC上完成的服务付费)


即使使用粗糙的解决方案,将siteA的服务器设为http请求我的服务器(siteB)要获得一次性使用令牌以便在certificate.php上进行验证,他们可以在其他站点每次需要验证令牌时使用siteA获取令牌,这样他们就可以欺骗验证并为siteA申请证书。

HTTP
Referer
头(是的,这就是它的拼写!)它在PHP脚本中作为
$\u服务器['HTTP\u REFERER']
提供


(但请注意,并不能保证所有浏览器都会提供它,而且它可以被欺骗。不要使用它来强制执行任何安全策略。)

您的问题完全不同,我将删除我的答案,因为它不再有意义。啊,对不起,我最初认为检查$\u服务器值的简单解决方案可以解决问题。现在我意识到这不起作用,我已经备份到我的实际问题中。也许我应该发布一个新问题?它是b这样完全改变是不公平的。别担心:)但是如果帖子的原意改变了,那么发布一个新的问题是更好的做法,尤其是如果你已经有了答案。