0

为了清楚起见,想象一下这种情况:

  • 用户在 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 申请证书。

4

1 回答 1

2

HTTPReferer标头(是的,就是这样拼写的!)告诉您这一点。它在您的 PHP 脚本中以$_SERVER['HTTP_REFERER'].

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

于 2013-03-04T19:13:31.173 回答