Get the App
SLTechnology News&Howtos  ›  Development  › 

What are the methods for php to forge referer addresses

Shulou Source: shulou.com Published: 2022-06-03 10:38:24 09月30日 Update

This article introduces to you what php forges referer address methods, the content is very detailed, interested friends can refer to, hope to be helpful to you.

Methods: 1, using "file_get_contents ($url,false,$context)" function; 2, CURL mode, using curl_init (), curl_setopt (), curl_exec () and other functions; 3, using fsockopen () function.

Operating environment of this tutorial: windows7 system, PHP7.1 version, DELL G3 computer

Php gets the URL address of the previous page of the current page, that is, the page from which the current page is linked, you can use $_ SERVER ['HTTP_REFERER']

But $_ SERVER ['HTTP_REFERER'] can also be forged and deceived. There are three ways to forge and deceive $_ SERVER [' HTTP_REFERER']

Note: window platform uses phpstudy integrated environment nginx this method is invalid, apache is normal, other platforms are not tested

The first method: file_get_contents

$url = "http://localhost/test/test.php";$refer="http://www.aa.com";$opt=array('http'=>array('header'=>"Referer: $refer"); $context=stream_context_create ($opt); $file_contents = file_get_contents ($url,false, $context); echo $file_contents

Stream_context_create in file_get_contents forges important parameters of the source.

The second method: CURL

$url = "http://localhost/test/test.php"; / / requested page address $refer=" http://www.aa.com"; / / fake page address $ch = curl_init (); curl_setopt ($ch, CURLOPT_URL,$url); curl_setopt ($ch, CURLOPT_REFERER,$refer); curl_exec ($ch); curl_close ($ch)

The third method: fsockopen

$url= "http://localhost/test/test.php";$target =" http://www.manongjc.com/";/** sockopen forged website source address * @ parem $url page address to be accessed * @ parem $target fake source page * @ parem $port website port default 80 * @ parem page script execution time defaults 30 s * / function referer ($url,$target,$port=80,$t=30) {$info=parse_url ($url) $fp = fsockopen ($info ["host"], $port, $errno, $errstr, $t); if (! $fp) {echo "$errstr ($errno)" .PHP _ EOL;} else {$out = "GET". $info ['path']. " HTTP/1.1 ".PHP _ EOL; $out. =" Host: ". $info [" host "]. PHP_EOL; $out. =" Referer: ". $target.PHP_EOL; $out. =" Connection: Close ".PHP _ EOL; $out. = PHP_EOL; fwrite ($fp, $out); while (! feof ($fp)) {echo fgets ($fp) / / send head request header information} fclose ($fp);}} / / function call referer ($url,$target)

About php forged referer address which method has shared here, hoped that the above content can have the certain help to everybody, can learn more knowledge. If you think the article is good, you can share it for more people to see.

Tags: Pages addresses methods functions sources content platforms more environment websites help good important information interests parameters guys partners tutorials articles Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno Shulou Information Shulou Technology OPPO Reno NVidia Docker