Maison  >  Article  >  développement back-end  >  Trois façons de forger l'URL source de la page HTTP_REFERER en php

Trois façons de forger l'URL source de la page HTTP_REFERER en php

高洛峰
高洛峰original
2017-01-03 17:46:032188parcourir

php obtient l'adresse URL de la page précédente de la page actuelle, c'est-à-dire la page à partir de laquelle la page actuelle est liée. Vous pouvez utiliser $_SERVER['HTTP_REFERER'], mais l'adresse URL de cette page source peut être. falsifiées et usurpées. Cet article présente trois méthodes pour falsifier les URL des pages HTTP_REFERER. Les amis dans le besoin peuvent s'y référer.

$_SERVER['HTTP_REFERER'] est une super variable utilisée par PHP pour déterminer la page source parent de la page. Nous pouvons utiliser $_SERVER['HTTP_REFERER'] pour déterminer à partir de quelle page nous sommes entrés. . Cette page a été ajoutée afin que nous puissions mieux la suivre.

Mais $_SERVER['HTTP_REFERER'] peut aussi être falsifié et trompé. Il existe trois façons de falsifier et de tromper $_SERVER['HTTP_REFERER']

La première méthode : file_get_contents

$opt=array('http'=>array('header'=>"Referer: $refer")); 
$context=stream_context_create($opt); 
$file_contents = file_get_contents($url,false, $context);

stream_context_create dans file_get_contents forge des paramètres importants de la source.

La deuxième méthode : CURL

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

Le paramètre http://www.manongjc.com est la fausse adresse URL.

Troisième méthode : fsockopen

$server = 'www.manongjc.com'; 
$host = 'www.manongjc.com'; 
$target = 'index.php'; 
$referer = 'http://www.manongjc.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); 
}

Parmi les trois méthodes ci-dessus, la troisième méthode fsockopen a les meilleures performances et les meilleurs effets, il est donc recommandé d'utiliser la troisième méthode.

Ce qui précède est la compilation d'informations sur la source de l'URL de la fausse page HTTP_REFERER en PHP Nous continuerons d'ajouter des informations pertinentes à l'avenir. Merci pour votre soutien à ce site !

Pour plus de trois méthodes PHP pour forger les sources d'URL de page HTTP_REFERER et les articles connexes, veuillez faire attention au site Web PHP chinois !

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn