查找引用我的PHP脚本的网站的IP

时间:2015-11-09 11:52:40

标签: php

我正在创建一个生成JavaScript代码的PHP文件。

如果网站转到我的代码:

<script src="http://myserver.com/myJS.php"></script>

我的问题: 在PHP中是否有办法找出指向我脚本的网站的IP (而不是本网站访问者的IP)???

谢谢!

2 个答案:

答案 0 :(得分:0)

您可以尝试查看REFERER http标头,该标头应包含网站的网址,但无法保证它会为您提供正确的值。

// First get the referrer
$referer = $_SERVER['HTTP_REFERER'];

// Parse the referer url
$parts = parse_url($referer);

// Then do a NS lookup to get the IP
$ip = gethostbyname($parts['host']);

请确保您了解REFERER标头可以伪造的事实。并且NS查找并不总是快速 - 或正确。

Can I rely on Referer HTTP header?

https://en.wikipedia.org/wiki/HTTP_referer

答案 1 :(得分:0)

您需要的是:

$referer = $_SERVER['HTTP_REFERER']

然后做:

$parse   = parse_url($referer);
$host    = $parse['host'];

获取IP:

$ip      = gethostbyname($host);

将用户代理引用到当前页面的页面地址(如果有)。这是由用户代理设置的。并非所有用户代理都会设置此功能,有些用户可以将HTTP_REFERER修改为功能。简而言之,它无法真正被信任。 SOURCE