Conseils pour les fausses sources php HTTP_REFERER

墨辰丷
Libérer: 2023-03-31 06:42:02
original
1791 Les gens l'ont consulté

Cet article présente principalement les techniques de forgeage du source HTTP_REFERER en PHP. Les amis intéressés peuvent s'y référer. J'espère qu'il sera utile à tout le monde.

L'exemple de cet article décrit la méthode de forgeage du source HTTP_REFERER en PHP. L'analyse spécifique est la suivante :

Les machines de publication automatiques sur les forums, les machines de publication automatiques sur les tops, etc. sont très populaires. sur Internet aujourd'hui, et ils ont apporté de grands changements à de nombreux sites Web de forums. De nombreux sites Web utilisent simplement la valeur de HTTP_REFERER pour filtrer les publications automatiques. Cependant, les informations source HTTP_REFERER des pages Web peuvent être falsifiées. Tout est une arme à double tranchant, tant que vous savez bien l'utiliser, il a sa valeur.

Il y a longtemps, le téléchargement de logiciels tels que Flashget, Thunder, etc. pouvait falsifier des informations sur la source, et le faux HTTP_REFERER de ces logiciels était principalement basé sur la sock sous-jacente pour construire de fausses informations d'en-tête http pour atteindre l'objectif. . Cet article abordera d'un point de vue purement technique la méthode de forge de HTTP_REFERER dans le langage PHP, afin de permettre à chacun de comprendre le processus et d'offrir une meilleure défense.

Environnement : Apache/2.2.8 + PHP/5.2.5 + système Windows XP, tests locaux.
Tout d'abord, créez deux fichiers 1.php et 2.php dans le répertoire racine virtuel du site Web.
Parmi eux, le contenu du fichier 1.php est le suivant :

<?php
$host = &#39;127.0.0.1&#39;;
$target = &#39;/2.php&#39;;
$referer = &#39;http://www.PHP.cn&#39;; //伪造HTTP_REFERER地址
$fp = fsockopen($host, 80, $errno, $errstr, 30);
if (!$fp){
echo "$errstr($errno)<br />\n";
} 
else{
$out = "
GET $target HTTP/1.1
Host: $host
Referer: $referer
Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)){
echo fgets($fp, 1024);
}
fclose($fp);
}
?>
Copier après la connexion

L'autre fichier 2.php est très simple, il suffit d'écrire une ligne de code pour lire la valeur actuelle du serveur HTTP_REFERER , comme suit :

<?php
echo "<hr />";
echo $_SERVER["HTTP_REFERER"];
?>
Copier après la connexion

Exécutez le fichier 1.php et ouvrez http://localhost/1.php La page renvoie les informations suivantes :

HTTP/1.1. 200 OK Date : vendredi 4 avril 2008 16:07:54 GMT Serveur : Apache/2.2.8 (Win32) PHP/5.2.5 X-Powered-By : PHP/5.2.5 Longueur du contenu : 27 Connexion : fermer le contenu -Type : text/html; charset= gb2312

Voir le résultat ? Les informations source HTTP_REFERER falsifiées ont réussi. Par conséquent, si votre site Web juge uniquement HTTP_REFERER, il n'est pas sûr. D'autres peuvent également créer de telles sources. Une méthode de défense simple consiste à ajouter un code de vérification à la page de vérification ; il peut également être combiné avec la méthode de jugement IP.

Supplément : Le code des sources falsifiées sous ASP est le suivant :

<%
dim http 
set http=server.createobject("MSXML2.XMLHTTP") &#39;//MSXML2.serverXMLHTTP也可以
Http.open "GET",url,false 
Http.setRequestHeader "Referer","http://www.jb51.net/" 
Http.send()
%>
Copier après la connexion

Si vous êtes une personne réfléchie, veuillez ne pas utiliser ces méthodes de manière malveillante. Après tout, si vous le faites aussi. beaucoup de mauvaises choses, l'effet sera trop important. ;Par exemple, si vous publiez beaucoup de spam, cela peut vous apporter beaucoup de liens externes à court terme, mais de telles méthodes de chapeau noir seront découvertes plus tôt ou par les moteurs de recherche. plus tard, et ces liens qui ont été envoyés sont comme de l'eau qui coule. Si vous ne pouvez pas les reprendre, de telles preuves incriminantes sont hors de votre contrôle.

Résumé : Ce qui précède est l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'étude de chacun.

Recommandations associées :

Méthodes de contrôle de chaîne et de processus PHP

PHP réalise la conversion de caractères pleine chasse Demi -méthode de largeur

Fonction pour convertir le montant numérique php en montant en capital chinois

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en 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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!