PHP使用curl偽造IP地址和header信息
curl雖然功能強大,但是只能偽造$_SERVER["HTTP_X_FORWARDED_FOR"],對于大多數IP地址檢測程序來說,$_SERVER["REMOTE_ADDR"]很難被偽造:
首先是client.php的代碼
01 |
$headers['CLIENT-IP'] = '202.103.229.40'; |
02 |
$headers['X-FORWARDED-FOR'] = '202.103.229.40'; |
05 |
foreach( $headers as $n => $v ) { |
06 |
$headerArr[] = $n .':' . $v; |
12 |
curl_setopt ($ch, CURLOPT_HTTPHEADER , $headerArr ); //構造IP |
14 |
curl_setopt( $ch, CURLOPT_HEADER, 1); |
18 |
$out = ob_get_contents(); |
然后是server.php
02 |
if(!emptyempty($_SERVER["HTTP_CLIENT_IP"])) |
03 |
$cip = $_SERVER["HTTP_CLIENT_IP"]; |
04 |
else if(!emptyempty($_SERVER["HTTP_X_FORWARDED_FOR"])) |
05 |
$cip = $_SERVER["HTTP_X_FORWARDED_FOR"]; |
06 |
else if(!emptyempty($_SERVER["REMOTE_ADDR"])) |
07 |
$cip = $_SERVER["REMOTE_ADDR"]; |
12 |
echo "<br>訪問IP: ".GetIP()."<br>"; |
13 |
echo "<br>訪問來路: ".$_SERVER["HTTP_REFERER"]; |
本文由用戶
atts 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!