Maison > développement back-end > tutoriel php > 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

高洛峰
Libérer: 2023-03-04 15:22:01
original
2230 Les gens l'ont consulté

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);
Copier après la connexion

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);
Copier après la connexion

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); 
}
Copier après la connexion

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 !

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal