Gefälschter Referrer-Beispielcode wird hauptsächlich zum Durchbrechen von Anti-Leeching verwendet.
Hier ist das vollständige Programm. Sie können es für bestimmte Anwendungen selbst ändern.
Das Beispiel, das ich hier gebe, ist sehr einfach. Tatsächlich können viele Anwendungen aus diesem Beispiel entwickelt werden. Zum Beispiel die echte URL-Adresse verbergen ... Hehe, analysieren Sie es einfach selbst und erstellen Sie hier eine neue Datei file.php. Der folgende Parameter ist die Zieladresse des Referfers, der gefälscht werden muss. Zum Beispiel: file.php/http://www.xxx.xxx/xxx.mp3
<?
$url=str_replace('/file.php/','',$_SERVER["REQUEST_URI"]);//Rufen Sie die URL ab, die konvertiert werden muss. Ich bin hier faul und werde die Sicherheitsüberprüfung nicht durchführen. Ich werde sie bei Bedarf selbst hinzufügen.
$downfile=str_replace(" ","%20",$url);// Ersetzen Sie Leerzeichen und dergleichen, Sie können sie entsprechend der tatsächlichen Situation ersetzen
$downfile=str_replace(" http://","",$downfile);// http:// entfernen
$urlarr=explode("/",$downfile);//Verwenden Sie „/“, um den Domänennamen zu zerlegen
$domain=$urlarr[0];//Domänenname
$getfile=str_replace($urlarr[0],'',$downfile);//Den GET-Teil im Header abrufen
$content = @fsockopen("$domain", 80, $errno, $errstr, 12);//Mit dem Zielhost verbinden
if (!$content){//Wenn der Link nicht hochgeladen werden kann, wird eine Fehlermeldung angezeigt
die("Leider kann keine Verbindung zu $domain hergestellt werden.");
}
fputs($content, "GET $getfile HTTP/1.0rn");
fputs($content, "Host: $domainrn");
fputs($content, "Referer: $domainrn");//Gefälschter Teil
fputs($content, "User-Agent: Mozilla/4.0 (kompatibel; MSIE 6.0; Windows NT 5.1)rnrn");
while (!feof($content)) {
$tp.=fgets($content, 128);
if (strstr($tp,"200 OK")){ //Hier sollte eine Erklärung gegeben werden. Die erste Zeile des Headers gibt im Allgemeinen den Status der angeforderten Datei an. Weitere Informationen finden Sie unter HTTP 1.1-Statuscodes und deren Bedeutung unter hi.baidu.com/110911/blog/item/21f20d2475af812ed50742c5.html. Dies ist der normale Dateianforderungsstatus. Leiten Sie ihn einfach direkt um. Fortsetzung der Durchführung von Programmen in anderen Staaten
header("Standort:$url");
sterben();
}
}
//302-Umleitung: Die meisten Anti-Hotlink-Systeme ermitteln zunächst den Referfer und leiten dann zur tatsächlichen Adresse weiter, wenn diese korrekt ist. Im Folgenden wird die tatsächliche Adresse ermittelt.
$arr=explode("n",$tp);
$arr1=explode("Location: ",$tp);//Extrahieren Sie die wahre Adresse hinter Location
$arr2=explode("n",$arr1[1]);
header('Content-Type:application/force-download');//Download erzwingen
header("location:".$arr2[0]);//Zur Zieladresse umleiten
sterben();
?>
Dieses Programm kann nur für das Anti-Hotlinking-System verwendet werden, das den Referrer verwendet, um festzustellen, ob ein Hotlink vorhanden ist. Wenn andere spezielle Methoden verwendet werden, um Hotlinking zu verhindern, ist diese Schätzung nicht anwendbar.