php获取客户端和服务端IP的代码是什么?
获取客户端IP $_SERVER['REMOTE_ADDR']
获取服务端IP $_SERVER['SERVER_ADDR'];
IP是否可以伪造?PHP中如何拿到真实的IP?
答案:IP地址是可以伪造的,客户端可以伪造IP地址或使用代理IP导致IP地址不是用户的真实的IP地址,存放真实的IP和各级代理IP,实现代码如下:
<?php
function getIP(){
$unknown='unknown';
if(isset($_SERVER['HTTP_X_FORWARDED_FOR'] && $_SERVER['HTTP_X_FORWARDED_FOR'] && strcasecmp($_SERVER['HTTP_X_FORWARDED_FOR'],$unknown))){
$IP=$_SERVER['HTTP_X_FORWARDED_FOR'];
}else if(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR']&& strcasecmp($_SERVER['REMOTE_ADDR'],$unknown)){
$IP=$_SERVER['REMOTE_ADDR'];
}
if(false !== strpos($IP,',')){
$IP=reset(explode(',',$IP));
return $IP;
}
}