php伪造http头破解防盗链
防盗链
伪造referer实例代码,主要用于一些突破防盗链,比如图片,软件等。这里就直接给出完整的程序吧,具体的应用可以自己修改。
我这里给出的例子是很简单的,其实可以从这个例子中发展出很多的应用。比如隐藏真实的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 。");
- }
- fputs($content, "GET $getfile HTTP/1.0rn");
- fputs($content, "Host: $domainrn");
- fputs($content, "Referer: $domainrn");//伪造部分
- fputs($content, "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)rnrn");
- 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来判断是否盗链的防盗链系统,使用其他特殊方法防盗链的,则不适用。
- $txt=$_GET['url'];
- echo referfile($txt,'http://www.jbxue.com/');
- function referfile($url,$refer='') {
- $opt=array('http'=>array('header'=>"Referer:$refer"));
- $context=stream_context_create($opt);
- Header("Location:".$url);
- return file_get_contents($url,false,$context);
- }
- $host = "pakey.net"; //你要访问的域名
- $target = "/test.asp"; //你要访问的页面地址
- $referer = "http//uuwar.com/"; //伪造来路页面
- $fp = fsockopen($host, 80, $errno, $errstr, 30);
- if(!$fp){
- echo "$errstr($errno)
\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);
- }
- ?>

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Sujets chauds

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

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

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

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

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