今天就是讲给REMOTE_ADDR不可以伪造的,就在curl 中也无法伪造 相对是比较安全的服务端ip获取方法,当然,也有可能被路由伪造 这个不好说,因为REMOTE_ADDR 是底层的回话ip地址,路由是可以发起伪造。所以,网上很多人都在问这个问题,也有很多人不死心,但现实确实是残酷的 也是完美的给个演示案例你吧:你就信了1.将以下代码保存为 Client.php //php脚本开始
<?php
$ch = curl_init();
$url = "http://localhost/ser.php";
$header = array( 'CLIENT-IP:208.165.188.175', 'X-FORWARDED-FOR:208.165.188.175, );
//声明伪造head请求头
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
$page_content = curl_exec($ch); curl_close($ch);
echo $page_content;?>2.将以下文件保存为ser.php//php脚本开始
<?php
echo getenv('HTTP_CLIENT_IP');
echo getenv('HTTP_X_FORWARDED_FOR');
echo getenv('REMOTE_ADDR');
?>3.运行结果//html脚本开始
208.165.188.175
208.165.188.175
127.0.0.1
//上面结果可看出,http_client_ip,http_x_forwarded_for 都被伪造了
而remote_addr 还是127.0.0.1 就是客户端ip4.附上PHP获取IP地址函数function get_real_ip($type = 0,$adv=false) {
$type = $type ? 1 : 0;
static $ip = NULL;
if ($ip !== NULL) return $ip[$type];
if($adv){
if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$arr = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
$pos = array_search('unknown',$arr);
if(false !== $pos) unset($arr[$pos]);
$ip = trim($arr[0]);
}elseif (isset($_SERVER['HTTP_CLIENT_IP'])) {
$ip = $_SERVER['HTTP_CLIENT_IP'];
}elseif (isset($_SERVER['REMOTE_ADDR'])) {
$ip = $_SERVER['REMOTE_ADDR'];
}
}elseif (isset($_SERVER['REMOTE_ADDR'])) {
$ip = $_SERVER['REMOTE_ADDR'];
}
// IP地址合法验证
$long = sprintf("%u",ip2long($ip));
$ip = $long ? array($ip, $long) : array('0.0.0.0', 0);
return $ip[$type];
}
function ip()
{
$ip_long = array(
array('607649792', '608174079'),
array('1038614528', '1039007743'),
array('1783627776', '1784676351'),
array('2035023872', '2035154943'),
array('2078801920', '2079064063'),
array('-1950089216', '-1948778497'),
array('-1425539072', '-1425014785'),
array('-1236271104', '-1235419137'),
array('-770113536', '-768606209'),
array('-569376768', '-564133889'),
);
$rand_key = mt_rand(0, 9);
return $ip = long2ip(mt_rand($ip_long[$rand_key][0], $ip_long[$rand_key][1]));
}
评论
172条评论a'ゞ不言 Lv.1
Internet Explorer
iPhone iOS 16.1 回复
六
重庆市 电信
腾讯视频 Lv.3
Chrome 86.0.4240.198
Windows 回复
不错不错,味道好极了
广东省深圳市 鹏博士长城宽带
新云 Lv.1
Internet Explorer
iPhone iOS 16.3.1 回复
不错不错,味道好极了
上海市 电信
接口连接阿道夫 Lv.1
Chrome 111.0.0.0
Windows 回复
北京市 电信
787447 Lv.1
Chrome 86.0.4240.198
Windows 回复
支持一下,黑蜘蛛博客有你更精彩
云南省红河州 联通
q9837762 Lv.1
Sogou Explorer
Windows 7 x64 Edition 回复
够厉害的啊
江苏省南京市 电信
q9837762 Lv.1
Internet Explorer
iPhone iOS 14.8.1 回复
厉不厉害兄弟们
江苏省南京市 电信
上善若水linwei Lv.1
Chrome 109.0.0.0
Windows 回复
感谢楼主分享
广东省广州市越秀区 电信
腾讯视频 Lv.3
Chrome 112.0.0.0
Windows 回复
拿来学习
广东省广州市 联通
jdj Lv.1
Android Webkit
Android 10 回复
可以吗
上海市 电信