<?
function iptype1 () {
if (getenv("HTTP_CLIENT_IP")) {
return getenv("HTTP_CLIENT_IP");
}
else {
return "none";
}
}
function iptype2 () {
if (getenv("HTTP_X_FORWARDED_FOR")) {
return getenv("HTTP_X_FORWARDED_FOR");
}
else {
return "none";
}
}
function iptype3 () {
if (getenv("REMOTE_ADDR")) {
return getenv("REMOTE_ADDR");
}
else {
return "none";
}
}
function ip() {
$ip1 = iptype1();
$ip2 = iptype2();
$ip3 = iptype3();
if (isset($ip1) && $ip1 != "none" && $ip1 != "unknown") {
return $ip1;
}
elseif (isset($ip2) && $ip2 != "none" && $ip2 != "unknown") {
return $ip2;
}
elseif (isset($ip3) && $ip3 != "none" && $ip3 != "unknown") {
return $ip3;
}
else {
return "none";
}
} Echo ip();
?>转自 phpx.com
function iptype1 () {
if (getenv("HTTP_CLIENT_IP")) {
return getenv("HTTP_CLIENT_IP");
}
else {
return "none";
}
}
function iptype2 () {
if (getenv("HTTP_X_FORWARDED_FOR")) {
return getenv("HTTP_X_FORWARDED_FOR");
}
else {
return "none";
}
}
function iptype3 () {
if (getenv("REMOTE_ADDR")) {
return getenv("REMOTE_ADDR");
}
else {
return "none";
}
}
function ip() {
$ip1 = iptype1();
$ip2 = iptype2();
$ip3 = iptype3();
if (isset($ip1) && $ip1 != "none" && $ip1 != "unknown") {
return $ip1;
}
elseif (isset($ip2) && $ip2 != "none" && $ip2 != "unknown") {
return $ip2;
}
elseif (isset($ip3) && $ip3 != "none" && $ip3 != "unknown") {
return $ip3;
}
else {
return "none";
}
} Echo ip();
?>转自 phpx.com
看来你是高手可以帮我解决一个数据库查询的问题吗?
$_SERVER["HTTP_X_FORWARDED_FOR"],
$_SERVER["HTTP_CLIENT_IP"],
$_SERVER["REMOTE_ADDR"]范例:function getClentIp() {
$ip = $_SERVER["HTTP_X_CLUSTER_CLIENT_IP"];
if (strlen($ip) <= 0) {
$ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
}
if (strlen($ip) <= 0) {
$ip = $_SERVER["HTTP_CLIENT_IP"];
}
if (strlen($ip) <= 0) {
$ip = $_SERVER["REMOTE_ADDR"];
}
return $ip;
}
function getClientIp() {
if( isset($_SERVER["HTTP_X_CLUSTER_CLIENT_IP"]) ) $ip = $_SERVER["HTTP_X_CLUSTER_CLIENT_IP"];
else if( isset($_SERVER["HTTP_CLIENT_IP"]) ) $ip = $_SERVER["HTTP_CLIENT_IP"];
else if( isset($_SERVER["REMOTE_ADDR"]) ) $ip = $_SERVER["REMOTE_ADDR"];
else $ip = "";
return $ip;
}
因为即使用代理也分两种,一种透明,一种不透明的。
不透明的话,也只能得到代理的IP而不是代理后边的客户端IP.....