Table des matières
防盗链
Maison php教程 php手册 php伪造http头破解防盗链

php伪造http头破解防盗链

Jun 13, 2016 am 09:40 AM
aspnet programmation de logiciels

防盗链

伪造referer实例代码,主要用于一些突破防盗链,比如图片,软件等。

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

代码: 
  1.    
  2. $url=str_replace('/file.php/','',$_SERVER["REQUEST_URI"]);//得出需要转换的网址。这里我就偷懒,不做安全检测了,需要的自己加上去   
  3. $downfile=str_replace(" ","%20",$url);//替换空格之类,可以根据实际情况进行替换   
  4. $downfile=str_replace("http://","",$downfile);//去掉http://   
  5. $urlarr=explode("/",$downfile);//以"/"分解出域名   
  6. $domain=$urlarr[0];//域名   
  7. $getfile=str_replace($urlarr[0],'',$downfile);//得出header中的GET部分   
  8. $content = @fsockopen("$domain", 80, $errno$errstr, 12);//连接目标主机   
  9. if (!$content){//链接不上就提示错误   
  10. die("对不起,无法连接上 $domain 。");   
  11. }   
  12. fputs($content"GET $getfile HTTP/1.0rn");   
  13. fputs($content"Host: $domainrn");   
  14. fputs($content"Referer: $domainrn");//伪造部分   
  15. fputs($content"User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)rnrn");   
  16. while (!feof($content)) {   
  17. $tp.=fgets($content, 128);   
  18. if (strstr($tp,"200 OK")){ //这里要说明一下。header的第一行一般是请求文件的状态。具体请参照HTTP 1.1状态代码及其含义 hi.baidu.com/110911/blog/item/21f20d2475af812ed50742c5.html这里是正常的文件请求状态,只需直接转向就可以。其他状态的继续执行程序   
  19. header("Location:$url");   
  20. die();   
  21. }   
  22. }   
  23. //302 转向,大部分的防盗链系统都是先判断referfer,对了的话再转向真实的地址。下面就是获取真实的地址。   
  24. $arr=explode("n",$tp);   
  25. $arr1=explode("Location: ",$tp);//分解出Location后面的真时地址   
  26. $arr2=explode("n",$arr1[1]);   
  27. header('Content-Type:application/force-download');//强制下载   
  28. header("location:".$arr2[0]);//转向目标地址   
  29. die();   
  30. ?>   

以上代码只能针对使用referer来判断是否盗链的防盗链系统,使用其他特殊方法防盗链的,则不适用。

  1. $txt=$_GET['url'];   
  2. echo referfile($txt,'http://www.jbxue.com/');   
  3.   
  4.   
  5. function referfile($url,$refer='') {   
  6. $opt=array('http'=>array('header'=>"Referer:$refer"));   
  7. $context=stream_context_create($opt);   
  8. Header("Location:".$url);   
  9. return file_get_contents($url,false,$context);   
  10. }   
  11.    
  12. $host = "pakey.net"//你要访问的域名   
  13. $target = "/test.asp"//你要访问的页面地址   
  14. $referer = "http//uuwar.com/"; //伪造来路页面   
  15. $fp = fsockopen($host, 80, $errno$errstr, 30);   
  16. if(!$fp){   
  17. echo "$errstr($errno)
    \n"
    ;   
  18. }else{   
  19. $out = "   
  20. GET $target HTTP/1.1   
  21. Host: $host   
  22. Referer: $referer   
  23. Connection: Close\r\n\r\n";   
  24.   
  25.   
  26. fwrite($fp$out);   
  27. while(!feof($fp)){   
  28. echo fgets($fp, 1024);   
  29. }   
  30. fclose($fp);   
  31. }   
  32. ?>   
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

La combinaison de Vue.js et ASP.NET fournit des conseils et des suggestions pour l'optimisation des performances et l'expansion des applications Web. La combinaison de Vue.js et ASP.NET fournit des conseils et des suggestions pour l'optimisation des performances et l'expansion des applications Web. Jul 29, 2023 pm 05:19 PM

La combinaison de Vue.js et ASP.NET fournit des conseils et des suggestions pour l'optimisation des performances et l'expansion des applications Web.

Techniques d'utilisation et d'optimisation du pool de connexions MySQL dans les programmes ASP.NET Techniques d'utilisation et d'optimisation du pool de connexions MySQL dans les programmes ASP.NET Jun 30, 2023 pm 11:54 PM

Techniques d'utilisation et d'optimisation du pool de connexions MySQL dans les programmes ASP.NET

Dix façons dont l'IA générative va changer le développement logiciel Dix façons dont l'IA générative va changer le développement logiciel Mar 11, 2024 pm 12:10 PM

Dix façons dont l'IA générative va changer le développement logiciel

Comment se reconnecter à MySQL dans le programme ASP.NET ? Comment se reconnecter à MySQL dans le programme ASP.NET ? Jun 29, 2023 pm 02:21 PM

Comment se reconnecter à MySQL dans le programme ASP.NET ?

La combinaison de Vue.js et ASP.NET permet le développement et le déploiement d'applications au niveau de l'entreprise La combinaison de Vue.js et ASP.NET permet le développement et le déploiement d'applications au niveau de l'entreprise Jul 29, 2023 pm 02:37 PM

La combinaison de Vue.js et ASP.NET permet le développement et le déploiement d'applications au niveau de l'entreprise

Comment configurer et utiliser correctement le pool de connexions MySQL dans le programme ASP.NET ? Comment configurer et utiliser correctement le pool de connexions MySQL dans le programme ASP.NET ? Jun 29, 2023 pm 12:56 PM

Comment configurer et utiliser correctement le pool de connexions MySQL dans le programme ASP.NET ?

Configuration recommandée pour le développement ASP.NET à l'aide de Visual Studio sous Linux Configuration recommandée pour le développement ASP.NET à l'aide de Visual Studio sous Linux Jul 06, 2023 pm 08:45 PM

Configuration recommandée pour le développement ASP.NET à l'aide de Visual Studio sous Linux

Quels sont les objets intégrés dans aspnet ? Quels sont les objets intégrés dans aspnet ? Nov 21, 2023 pm 02:59 PM

Quels sont les objets intégrés dans aspnet ?

See all articles