Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.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 - Fatal编程技术网

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

查找引用我的PHP脚本的网站的IP,php,Php,我正在创建一个PHP文件,生成一个JavaScript代码 如果网站引用了我的代码: <script src="http://myserver.com/myJS.php"></script> 我的问题: 在PHP中是否有办法找到指向我的脚本的网站的IP(而不是该网站访问者的IP) 谢谢 您可以尝试查看REFERERhttp头,它应该包含站点的URL,但不能保证它会给您正确的值 // First get the referrer $referer = $_SERVER

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

如果网站引用了我的代码:

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

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


谢谢

您可以尝试查看
REFERER
http头,它应该包含站点的URL,但不能保证它会给您正确的值

// 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查找并不总是快速或正确的

您需要的是:

$referer = $_SERVER['HTTP_REFERER']
然后做:

$parse   = parse_url($referer);
$host    = $parse['host'];
要获取IP,请执行以下操作:

$ip      = gethostbyname($host);

将用户代理引用到当前页面的页面(如果有)的地址。这是由用户代理设置的。并非所有的用户代理都会设置此功能,有些代理还提供了修改HTTP_REFERER的功能。简言之,它真的不可信

你使用的是哪种操作系统?嘿,LOKESH,我的PHP在Linux CentOSCan上运行。你可以检查HTTP引用程序吗?好的,那么你想,如果有人将你的JS添加到他的网站,你应该得到一个通知,通知网站所有者的IP。我认为这是不可能的,除非他们添加了一些东西(变量)这并没有回答问题,因为OP询问如何获取IP地址。谢谢您的评论,@putvande。我现在已经修复了示例代码。@TomerW因为它们是两个不同的东西!!同样的错误,他需要的是远程地址,不是服务器地址。对不起,我错了。读错了。我已经改正了。