Rumah php教程 php手册 PHP伪造referer突破防盗链

PHP伪造referer突破防盗链

Jun 13, 2016 am 09:43 AM
aspnet pengaturcaraan perisian

可以从这个例子中发展出很多的应用。比如隐藏真实的URL地址……嘿嘿,具体的就自己分析去吧
这里新建一个文件file.php。后面的参数就是需要伪造referfer的目标地址吧。如:file.php/http://www.xxx.xxx/xxx.mp3

$url=str_replace('/file.php/','',$_SERVER["REQUEST_URI"]);//得出需要转换的网址。这里我就偷懒,不做安全检测了,需要的自己加上去
$downfile=str_replace(" ","%20",$url);//替换空格之类,可以根据实际情况进行替换
$downfile=str_replace("http://","",$downfile);//去掉http://
$urlarr=explode("/",$downfile);//以"/"分解出域名
$domain=$urlarr[0];//域名
$getfile=str_replace($urlarr[0],'',$downfile);//得出header中的GET部分
$content = @fsockopen("$domain", 80, $errno, $errstr, 12);//连接目标主机
if (!$content){//链接不上就提示错误
die("对不起,无法连接上 $domain 。");
} www.jbxue.com
fputs($content, "GET $getfile HTTP/1.0\r\n");
fputs($content, "Host: $domain\r\n");
fputs($content, "Referer: $domain\r\n");//伪造部分
fputs($content, "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)\r\n\r\n");

while (!feof($content)) {
$tp.=fgets($content, 128);
if (strstr($tp,"200 OK")){ //这里要说明一下。header的第一行一般是请求文件的状态。具体请参照HTTP 1.1状态代码及其含义 hi.baidu.com/110911/blog/item/21f20d2475af812ed50742c5.html这里是正常的文件请求状态,只需直接转向就可以。其他状态的继续执行程序

header("Location:$url");
die();
}
}

//302 转向,大部分的防盗链系统都是先判断referfer,对了的话再转向真实的地址。下面就是获取真实的地址。
$arr=explode("\n",$tp);
$arr1=explode("Location: ",$tp);//分解出Location后面的真时地址
$arr2=explode("\n",$arr1[1]);
header('Content-Type:application/force-download');//强制下载
header("location:".$arr2[0]);//转向目标地址
die();
?>

此程序只能针对使用referer来判断是否盗链的防盗链系统,使用其他特殊方法防盗链的,这个估计就不适用了。

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Gabungan Vue.js dan ASP.NET menyediakan petua dan cadangan untuk pengoptimuman prestasi dan pengembangan aplikasi web. Gabungan Vue.js dan ASP.NET menyediakan petua dan cadangan untuk pengoptimuman prestasi dan pengembangan aplikasi web. Jul 29, 2023 pm 05:19 PM

Gabungan Vue.js dan ASP.NET menyediakan petua dan cadangan untuk pengoptimuman prestasi dan pengembangan aplikasi web.

Penggunaan kolam sambungan MySQL dan teknik pengoptimuman dalam program ASP.NET Penggunaan kolam sambungan MySQL dan teknik pengoptimuman dalam program ASP.NET Jun 30, 2023 pm 11:54 PM

Penggunaan kolam sambungan MySQL dan teknik pengoptimuman dalam program ASP.NET

Sepuluh cara AI generatif akan mengubah pembangunan perisian Sepuluh cara AI generatif akan mengubah pembangunan perisian Mar 11, 2024 pm 12:10 PM

Sepuluh cara AI generatif akan mengubah pembangunan perisian

Gabungan Vue.js dan ASP.NET membolehkan pembangunan dan penggunaan aplikasi peringkat perusahaan Gabungan Vue.js dan ASP.NET membolehkan pembangunan dan penggunaan aplikasi peringkat perusahaan Jul 29, 2023 pm 02:37 PM

Gabungan Vue.js dan ASP.NET membolehkan pembangunan dan penggunaan aplikasi peringkat perusahaan

Bagaimana untuk menyambung semula ke MySQL dalam program ASP.NET? Bagaimana untuk menyambung semula ke MySQL dalam program ASP.NET? Jun 29, 2023 pm 02:21 PM

Bagaimana untuk menyambung semula ke MySQL dalam program ASP.NET?

Bagaimana untuk mengkonfigurasi dan menggunakan kolam sambungan MySQL dengan betul dalam program ASP.NET? Bagaimana untuk mengkonfigurasi dan menggunakan kolam sambungan MySQL dengan betul dalam program ASP.NET? Jun 29, 2023 pm 12:56 PM

Bagaimana untuk mengkonfigurasi dan menggunakan kolam sambungan MySQL dengan betul dalam program ASP.NET?

Apakah objek terbina dalam aspnet? Apakah objek terbina dalam aspnet? Nov 21, 2023 pm 02:59 PM

Apakah objek terbina dalam aspnet?

Konfigurasi yang disyorkan untuk pembangunan ASP.NET menggunakan Visual Studio pada Linux Konfigurasi yang disyorkan untuk pembangunan ASP.NET menggunakan Visual Studio pada Linux Jul 06, 2023 pm 08:45 PM

Konfigurasi yang disyorkan untuk pembangunan ASP.NET menggunakan Visual Studio pada Linux

See all articles