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 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!