PHP伪造referer地址的三种方法_PHP伪造来源HTTP_REFERER的方法

2018-01-22     浏览次数:

在开发的过程中有时候会用的referer这个信息,虽然现在referer已经变得没有那么安全了,接下来吾爱编程就为大家介绍了PHP伪造来源HTTP_REFERER的方法

第一种方法:CURL方式

	$ch = curl_init();
	curl_setopt ($ch, CURLOPT_URL, "http://www.itbiancheng.com");
	curl_setopt ($ch, CURLOPT_REFERER, "http://www.365lifezd.com/");
	curl_exec ($ch);
	curl_close ($ch);

第二种方式:SOCKET方式

	$server = 'www.itbiancheng.com';
	$host = 'www.itbiancheng.com';
	$target = 'index.php';
	$referer = 'http://www.itbiancheng.com/'; // Referer
	$port = 80;
	$fp = fsockopen($server, $port, $errno, $errstr, 30);
	if (!$fp){
	  echo "$errstr ($errno)\n";
	}else{
	$out = "GET $target HTTP/1.1\r\n";
	$out .= "Host: $host\r\n";
	$out .= "Referer: $referer\r\n";
	$out .= "Connection: Close\r\n\r\n";
	fwrite($fp, $out);
	while (!feof($fp)){
	echo fgets($fp, 128);
	}
	fclose($fp);
	}

第三种方式:file_get_contents方法

	$referer = 'http://www.itbiancheng.com/'; // Referer
	$opt=array('http'=>array('header'=>"Referer: $refer")); 
	$context=stream_context_create($opt); 
	$file_contents = file_get_contents($url,false, $context);
通过以上三种方式,我们都可以把referer地址伪装为http://www.itbiancheng.com,接下来你只需要一句代码就可以查看到这个referer地址了:$_SERVER['HTTP_REFERER'];
*转载请注明出处,更多资料尽在 吾爱编程
返回吾爱编程首页