我已经在Windows 7操作系统上安装了Apache服务器2.2.22,Php 5.4.5和Mysql 5.5.27。每件事情都很好。但我没有得到IP地址。这里是我的IP地址收集代码如何在php中获得IP地址
<?php
//Test if it is a shared client
if (!empty($_SERVER['HTTP_CLIENT_IP']))
{
$ip = $_SERVER['HTTP_CLIENT_IP'];
//Is it a proxy address
}
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
{
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
}
else
{
$ip = $_SERVER['REMOTE_ADDR'];
}
//The value of $ip at this point would look something like: "192.0.34.166"
$ip = ip2long($ip);
任何人都可以帮助我如何获得IP地址。我是否需要更改或修改Apache httpd.conf或php.ini文件来解决此问题。
什么*不*你? – deceze 2012-08-08 12:01:36
千万不要像这样使用它。永远不要相信客户端发送的数据在http_x_forwarded_for中可能是任何东西,它通常用于通过发送x-forwarded-for与其他头文件来欺骗用户ip,因此可以完全被屏蔽。尝试例如发送这个标题与自定义内容到cmyip.com - 它会直接显示它。 – Zaffy 2012-08-08 12:37:35
这个网站上应该有比这个更好的代码 - 还有更好的评论和讨论这些代码带来的问题。 – hakre 2013-05-11 09:44:09