分类:
2008-08-26 22:48:00
用php获取客户端IP地址的方法,具体代码如下:
$iipp=$_SERVER["REMOTE_ADDR"];
echo
$iipp;
?>
/////////////////////////////-------------下面是我自己学写的留言板的部分代码----------------------------
echo $_POST['name'].'
';
echo $_POST['sex'].'
';
echo $_POST['email'].'
';
echo
$_POST['info'].'
';
$ip=$_SERVER["REMOTE_ADDR"];
//------基本设定--------
$mysql_server_name="localhost";
$mysql_username
="root";
$mysql_password ="123456";
$mysql_database
="liuyanban";
//----------
//准备好你的sql语法(新建)
$sql="INSERT INTO
`gbook` (`id` ,`name` ,`sex` ,`email` ,`info` ,`ip` ,`time_at` )VALUES ('',
'".$_POST['name']."', '".$_POST['sex']."', '".$_POST['email']."',
'".$_POST['info']."', '".$ip."', NOW( ) )";
$conn=mysql_connect($mysql_server_name,$mysql_username,$mysql_password);
mysql_select_db($mysql_database,$conn);
$result=mysql_query($sql);
$id=mysql_insert_id();
mysql_close($conn);
?>
///////////////////////////////////////////////
$user_IP
= ($_SERVER["HTTP_VIA"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] :
$_SERVER["REMOTE_ADDR"];
$user_IP = ($user_IP) ? $user_IP :
$_SERVER["REMOTE_ADDR"];
echo
$user_IP;
?>
///////////////////////////////////////////////
function
get_real_ip(){
$ip=false;
if(!empty($_SERVER["HTTP_CLIENT_IP"])){
$ip =
$_SERVER["HTTP_CLIENT_IP"];
}
if
(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ips = explode (", ",
$_SERVER['HTTP_X_FORWARDED_FOR']);
if ($ip) { array_unshift($ips, $ip); $ip =
FALSE; }
for ($i = 0; $i < count($ips); $i++) {
if (!eregi
("^(10|172.16|192.168).", $ips[$i])) {
$ip =
$ips[$i];
break;
}
}
}
return ($ip ? $ip :
$_SERVER['REMOTE_ADDR']);
}
echo
get_real_ip();
?>
///////////////////////////////////////////////
php获取ip的算法:
if
($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"])
{
$ip =
$HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"];
}
elseif
($HTTP_SERVER_VARS["HTTP_CLIENT_IP"])
{
$ip =
$HTTP_SERVER_VARS["HTTP_CLIENT_IP"];
}
elseif
($HTTP_SERVER_VARS["REMOTE_ADDR"])
{
$ip =
$HTTP_SERVER_VARS["REMOTE_ADDR"];
}
elseif
(getenv("HTTP_X_FORWARDED_FOR"))
{
$ip = getenv("HTTP_X_FORWARDED_FOR");
}
elseif (getenv("HTTP_CLIENT_IP"))
{
$ip =
getenv("HTTP_CLIENT_IP");
}
elseif (getenv("REMOTE_ADDR"))
{
$ip
= getenv("REMOTE_ADDR");
}
else
{
$ip = "Unknown";
}
echo "你的IP:".$ip ;
?>
///////////////////////////////////////////////
if(getenv('HTTP_CLIENT_IP'))
{
$onlineip = getenv('HTTP_CLIENT_IP');
}
elseif(getenv('HTTP_X_FORWARDED_FOR')) {
$onlineip =
getenv('HTTP_X_FORWARDED_FOR');
} elseif(getenv('REMOTE_ADDR')) {
$onlineip = getenv('REMOTE_ADDR');
} else {
$onlineip =
$HTTP_SERVER_VARS['REMOTE_ADDR'];
}
echo $onlineip;
?>