繁体   English   中英

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

[英]PHP: Get IP address of server where user clicked a link redirecting to my external site

为清楚起见,请想象一下

  • 用户在siteA.com上
  • 用户点击指向我网站的链接:siteB.com
  • 我的网站想要在获得请求时确定siteA.com的IP地址,以便它知道为此请求链接到它的服务器的IP。

有没有办法用PHP和Apache做到这一点? 如果没有,有什么办法可以做到这一点吗?

<?php

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

?>

编辑:

所以$ _SERVER ['HTTP_REFERER']不能依赖,但我可以随意使用它(补充/机会信息表明引用者不是来自预期的端点,如果它不是空的可能。虽然它听起来因为即使这样也是不可靠的,因为任何插件客户端仍然可以破坏价值,使得合法推荐似乎来自其他服务器)。

我还有这个问题:

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

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

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

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

HTTP Referer标头(是的,这就是拼写的方式!)告诉你这个。 它在您的PHP脚本中可用作$_SERVER['HTTP_REFERER']

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM