Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/253.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP更改远程地址_Php_Header_Fopen - Fatal编程技术网

使用PHP更改远程地址

使用PHP更改远程地址,php,header,fopen,Php,Header,Fopen,这正在更改$\u服务器['HTTP\u REFERER']。如何更改$\u服务器['REMOTE\u ADDR']。我应该在$header中附加什么代码?您不能这样做。IP地址在TCP连接开始时确定,而不是在HTTP头中确定。(可以欺骗(虽然不是远程欺骗),但是你不会得到回复。)你不能。您从中连接的IP地址不是某个标头。。。它来自从您的服务器到另一台服务器的底层TCP连接。问题是您为什么要这样做?听起来很可疑。@googleguy,这不是你的职责。在大多数情况下,这不是一个好的意图。 <?

这正在更改
$\u服务器['HTTP\u REFERER']
。如何更改
$\u服务器['REMOTE\u ADDR']
。我应该在
$header
中附加什么代码?

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

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

问题是您为什么要这样做?听起来很可疑。@googleguy,这不是你的职责。在大多数情况下,这不是一个好的意图。
<?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);
}
?>