Kode contoh referensi palsu terutama digunakan untuk menerobos anti-leeching.
Berikut adalah program lengkapnya.
Contoh yang saya berikan disini sangat sederhana. Sebenarnya banyak aplikasi yang bisa dikembangkan dari contoh ini. Misal sembunyiin alamat url aslinya.. Hehe, analisa saja sendiri dan buat file baru file.php disini. Parameter berikut adalah alamat target referer yang perlu dipalsukan. Misalnya: file.php/http://www.xxx.xxx/xxx.mp3
<?
$url=str_replace('/file.php/','',$_SERVER["REQUEST_URI"]);//Dapatkan URL yang perlu dikonversi. Saya malas di sini dan tidak akan melakukan pemeriksaan keamanan. Saya akan menambahkannya sendiri jika diperlukan.
$downfile=str_replace(" ","%20",$url);//Ganti spasi dan sejenisnya, Anda dapat menggantinya sesuai dengan keadaan sebenarnya
$downfile=str_replace(" http://","",$downfile);// Hapus http://
$urlarr=explode("/",$downfile);//Gunakan "/" untuk menguraikan nama domain
$domain=$urlarr[0];//Nama domain
$getfile=str_replace($urlarr[0],'',$downfile);//Dapatkan bagian GET di header
$content = @fsockopen("$domain", 80, $errno, $errstr, 12);//Hubungkan ke host target
if (!$content){//Jika link tidak dapat diupload, error akan muncul
die("Maaf, tidak dapat terhubung ke $domain.");
}
fputs($konten, "DAPATKAN $getfile HTTP/1.0rn");
fputs($konten, "Host: $domainrn");
fputs($content, "Referer: $domainrn");//Bagian palsu
fputs($content, "Agen Pengguna: Mozilla/4.0 (kompatibel; MSIE 6.0; Windows NT 5.1)rnrn");
sementara (!feof($konten)) {
$tp.=fgets($isi, 128);
if (strstr($tp,"200 OK")){ //Beberapa penjelasan harus diberikan di sini. Baris pertama header umumnya berisi status file yang diminta. Untuk detailnya, silakan lihat kode status HTTP 1.1 dan artinya hi.baidu.com/110911/blog/item/21f20d2475af812ed50742c5.html Ini adalah status permintaan file normal, langsung saja diarahkan. Lanjutkan pelaksanaan program di negara bagian lain
header("Lokasi:$url");
mati();
}
}
//pengalihan 302, sebagian besar sistem anti-hotlink terlebih dahulu menentukan pengarah, dan kemudian mengarahkan ke alamat sebenarnya jika benar. Berikut ini adalah untuk mendapatkan alamat sebenarnya.
$arr=meledak("n",$tp);
$arr1=explode("Lokasi: ",$tp);//Ekstrak alamat sebenarnya di balik Lokasi
$arr2=meledak("n",$arr1[1]);
header('Tipe Konten:aplikasi/unduhan paksa');//Paksa pengunduhan
header("lokasi:".$arr2[0]);//Alihkan ke alamat target
mati();
?>
Program ini hanya dapat digunakan untuk sistem anti-hotlinking yang menggunakan referensi untuk menentukan apakah hotlinking. Jika metode khusus lainnya digunakan untuk mencegah hotlinking, perkiraan ini tidak akan berlaku.