-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

4

2 回答 2

1

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

于 2012-12-11T04:37:16.223 回答
0

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

于 2012-12-11T04:37:24.570 回答