今天就是讲给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
QQbrowser
iPhone iOS 15.4.1 回复
陕西省榆林市 电信
钉钉 Lv.1
Chrome 94.0.4606.71
Windows 回复
感谢楼主
,好人一生平安
陕西省安康市 移动
699673 Lv.1
Chrome 90.0.4430.210
Android 11 回复
哥哥
河南省郑州市 移动
17922991@qq.com Lv.1
Chrome 92.0.4515.131
Android 11 回复
给哈狗和高后给
广东省广州市 联通
哈哈啊 Lv.1
Chrome 92.0.4515.131
Android 11 回复
揉揉揉揉揉揉
广东省广州市 联通
哈哈 Lv.1
Chrome 92.0.4515.131
Android 11 回复
好的
广东省广州市 联通
5456 Lv.1
Sogou Explorer
Windows 回复
非常帮的【【asdlad
江苏省南京市 移动
平台搭建【南风】 Lv.1
Chrome 86.0.4240.198
Windows 回复
山东高法说得够
重庆市 联通
dsdsdsdsd Lv.1
Chrome 107.0.0.0
Windows 回复
dsds大苏打实打实大苏打
福建省福州市 电信
詞ci Lv.1
Sogou Explorer
Windows 回复
感谢楼主
,好人一生平安
北京市 移动