今天就是讲给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条评论菲菲地方 Lv.1
Firefox 99.0
Mac OS X 10.15 回复
湖北省武汉市 联通
情谊32 Lv.1
Safari 15.4
Mac OS X 10.15.7 回复
支持
山东省淄博市 移动
腾讯视频 Lv.3
Chrome 96.0.4664.104
Android 10 回复
新人报道
学习一下
北美地区
木空 Lv.1
Chrome 96.0.4664.104
Android 10 回复
感谢楼主
,好人一生平安
北美地区
啊啊啊啊 Lv.1
Chrome 99.0.4844.84
Windows 回复
asdhau哈德看啥看
中国 移动
小呆 Lv.1
Chrome 100.0.4896.60
Windows 7 回复
牛牛牛
山东省滨州市 联通
断桥守後 Lv.1 回复
1111你太
山东省青岛市 联通
端口 Lv.1 回复
真牛逼 感谢分享
北京市 微软(中国)有限公司
阿杰 Lv.1 回复
66666牛逼
广东省东莞市 电信
小白 Lv.1 回复
感谢楼主分享 牛逼
山东省临沂市 联通