PHP作为JavaScript:获取用户IP
我使用这个简单的脚本:PHP作为JavaScript:获取用户IP,javascript,php,ip,tracking,Javascript,Php,Ip,Tracking,我使用这个简单的脚本: <script type="text/javascript"> var _mytrack = _mytrack || []; _mytrack.push(['_setType', 'SOMETYPE']); _mytrack.push(['_setEmail', 'john@johndoe.com']); (function() { var mytrack = document.createElement('script'); _mytrack.type =
<script type="text/javascript">
var _mytrack = _mytrack || [];
_mytrack.push(['_setType', 'SOMETYPE']);
_mytrack.push(['_setEmail', 'john@johndoe.com']);
(function() {
var mytrack = document.createElement('script');
_mytrack.type = 'text/javascript';
_mytrack.async = true;
mytrack.src = ('https:' == document.location.protocol ? 'https://www' : 'http://www') + '.mytrack.net/tracker.tell.php?i='+_mytrack;
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(mytrack, s);
})();
</script>
现在这个问题与
$\u服务器['REMOTE\u ADDR']
有关,因为这会(在JS警报中)提供服务器的IP,而不是客户端的IP。$\u服务器['REMOTE\u ADDR']会提供远程用户的IP地址。但如果您使用的是代理或负载平衡器,则应使用$\u SERVER['HTTP\u X\u FORWARDED\u']
如果用户可以直接或通过代理访问服务器,则只需使用If语句
$remote_ip = (isset($_SERVER['HTTP_X_FORWARDED_FOR']) ? $_SERVER['HTTP_X_FORWARDED_FOR'] : $_SERVER['REMOTE_ADDR']);
然后将变量传递给JS。$\u服务器['REMOTE\u ADDR']会为您提供远程用户的IP地址。但如果您使用的是代理或负载平衡器,则应使用$\u SERVER['HTTP\u X\u FORWARDED\u'] 如果用户可以直接或通过代理访问服务器,则只需使用If语句
$remote_ip = (isset($_SERVER['HTTP_X_FORWARDED_FOR']) ? $_SERVER['HTTP_X_FORWARDED_FOR'] : $_SERVER['REMOTE_ADDR']);
然后将变量传递给JS。$\u服务器['REMOTE\u ADDR']会为您提供远程用户的IP地址。但如果您使用的是代理或负载平衡器,则应使用$\u SERVER['HTTP\u X\u FORWARDED\u'] 如果用户可以直接或通过代理访问服务器,则只需使用If语句
$remote_ip = (isset($_SERVER['HTTP_X_FORWARDED_FOR']) ? $_SERVER['HTTP_X_FORWARDED_FOR'] : $_SERVER['REMOTE_ADDR']);
然后将变量传递给JS。$\u服务器['REMOTE\u ADDR']会为您提供远程用户的IP地址。但如果您使用的是代理或负载平衡器,则应使用$\u SERVER['HTTP\u X\u FORWARDED\u'] 如果用户可以直接或通过代理访问服务器,则只需使用If语句
$remote_ip = (isset($_SERVER['HTTP_X_FORWARDED_FOR']) ? $_SERVER['HTTP_X_FORWARDED_FOR'] : $_SERVER['REMOTE_ADDR']);
然后将变量传递给JS。可能无法使用PHP,因为PHP脚本在服务器上运行,而不是在客户端上运行。你试过/考虑过使用Javascript吗?@jonhopkins当然你可以从PHP获得远程IP。。。您认为web服务器如何与客户端通信?您可能正在服务器上运行代理服务器,是吗?您好@Brad是的,我正在使用代理,但当我转到简单的:“显示我的IP网站”时,他们给出了正确的地址…@bvl远程地址始终是与服务器建立TCP连接的地址。如果您使用的是代理,则这是代理的地址。大多数代理服务器传递带有终端客户端地址的头
X-Forwarded-For
是最常见的。可能无法使用PHP,因为PHP脚本运行在服务器上,而不是客户端。你试过/考虑过使用Javascript吗?@jonhopkins当然你可以从PHP获得远程IP。。。您认为web服务器如何与客户端通信?您可能正在服务器上运行代理服务器,是吗?您好@Brad是的,我正在使用代理,但当我转到简单的:“显示我的IP网站”时,他们给出了正确的地址…@bvl远程地址始终是与服务器建立TCP连接的地址。如果您使用的是代理,则这是代理的地址。大多数代理服务器传递带有终端客户端地址的头X-Forwarded-For
是最常见的。可能无法使用PHP,因为PHP脚本运行在服务器上,而不是客户端。你试过/考虑过使用Javascript吗?@jonhopkins当然你可以从PHP获得远程IP。。。您认为web服务器如何与客户端通信?您可能正在服务器上运行代理服务器,是吗?您好@Brad是的,我正在使用代理,但当我转到简单的:“显示我的IP网站”时,他们给出了正确的地址…@bvl远程地址始终是与服务器建立TCP连接的地址。如果您使用的是代理,则这是代理的地址。大多数代理服务器传递带有终端客户端地址的头X-Forwarded-For
是最常见的。可能无法使用PHP,因为PHP脚本运行在服务器上,而不是客户端。你试过/考虑过使用Javascript吗?@jonhopkins当然你可以从PHP获得远程IP。。。您认为web服务器如何与客户端通信?您可能正在服务器上运行代理服务器,是吗?您好@Brad是的,我正在使用代理,但当我转到简单的:“显示我的IP网站”时,他们给出了正确的地址…@bvl远程地址始终是与服务器建立TCP连接的地址。如果您使用的是代理,则这是代理的地址。大多数代理服务器传递带有终端客户端地址的头X-Forwarded-For
是最常见的。老兄,你太棒了!伙计,你太棒了!伙计,你太棒了!伙计,你太棒了!