2012-12-11 27 views
-2
<?php 

$host = 'www.yourtargeturl.com'; 
$service_uri = '/detect_referal.php'; 
$vars ='additional_option1=yes&additional_option2=un'; 

$header = "Host: $host\r\n"; 
$header .= "User-Agent: PHP Script\r\n"; 
$header .= "Content-Type: application/x-www-form-urlencoded\r\n"; 
$header .= "Referer: http://www.google.com/search?hl=en&q=jigh&btnG=Google+Search \r\n"; 
$header .= "Content-Length: ".strlen($vars)."\r\n"; 
$header .= "Connection: close\r\n\r\n"; 

$fp = fsockopen("".$host,80, $errno, $errstr); 

if (!$fp) { 
    echo "$errstr ($errno)<br/>\n"; 
    echo $fp; 
} else { 
fputs($fp, "POST $service_uri HTTP/1.1\r\n"); 
fputs($fp, $header.$vars); 
fwrite($fp, $out); 

while (!feof($fp)) { 
echo fgets($fp, 128); 
} 
fclose($fp); 
} 
?> 

這是更改$_SERVER['HTTP_REFERER']。如何更改$_SERVER['REMOTE_ADDR']。我應該在$header附加哪些代碼?使用PHP更改遠程地址

+2

問題是你爲什麼想要?聽起來很腥。 – Sherif

+0

@googleguy,那不是你的一部分。 – Prakash

+0

在大多數情況下不是很好的意圖。 – itachi

回答

1

你不能那樣做。 IP地址是在TCP連接開始時確定的,而不是在HTTP標頭中確定的。 (雖然不是這樣的遠程欺騙,但是你不會得到迴應。)

0

你不能。您連接的IP地址不是某個標頭......它來自您的服務器到其他服務器的底層TCP連接。