curl伪造IP和来路

client.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
$headers [ 'CLIENT-IP' ] = '202.103.229.40'
$headers [ 'X-FORWARDED-FOR' ] = '202.103.229.40' ;
 
$headerArr = array (); 
foreach ( $headers as $n => $v ) { 
     $headerArr [] = $n . ':' . $v ;  
}
 
ob_start();
$ch = curl_init();
curl_setopt ( $ch , CURLOPT_URL, "http://localhost/curl/server.php" );
curl_setopt ( $ch , CURLOPT_HTTPHEADER , $headerArr );  //构造IP
curl_setopt ( $ch , CURLOPT_REFERER, "http://www.163.com/ " );   //构造来路
curl_setopt( $ch , CURLOPT_HEADER, 1);
 
curl_exec( $ch );
curl_close ( $ch );
$out = ob_get_contents();
ob_clean();
 
echo $out ;
?>

server.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
function GetIP(){
     if (! empty ( $_SERVER [ "HTTP_CLIENT_IP" ]))
         $cip = $_SERVER [ "HTTP_CLIENT_IP" ];
     else if (! empty ( $_SERVER [ "HTTP_X_FORWARDED_FOR" ]))
         $cip = $_SERVER [ "HTTP_X_FORWARDED_FOR" ];
     else if (! empty ( $_SERVER [ "REMOTE_ADDR" ]))
         $cip = $_SERVER [ "REMOTE_ADDR" ];
     else
     $cip = "无法获取!" ;
     return $cip ;
}
echo "<BR>访问IP: " .GetIP(). "<br>" ;
echo "<BR>访问来路: " . $_SERVER [ "HTTP_REFERER" ];
?>

补充:$_SERVER['REMOTE_ADDR']无法伪造。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值