使用PHP更改远程地址

时间:2012-12-11 04:35:02

标签: php header fopen

<?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附加什么代码?

2 个答案:

答案 0 :(得分:1)

你做不到。 IP地址在TCP连接开始时确定,而不是在HTTP标头中确定。 (有可能欺骗[虽然不是那样远]但是你不会得到回复。)

答案 1 :(得分:0)

你做不到。您连接的IP地址不是某个标题...它来自您从服务器到另一个服务器的底层TCP连接。