防盗链
伪造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);
- }
- ?>

Vue.js与ASP.NET的结合,实现Web应用的性能优化和扩展的技巧和建议随着Web应用的快速发展,性能优化成为开发者不可或缺的重要任务。Vue.js作为一款流行的前端框架,与ASP.NET的结合可以帮助我们实现更好的性能优化和扩展。本文将会介绍一些技巧和建议,并提供一些代码示例。一、减少HTTP请求HTTP请求的数量直接影响着Web应用的加载速度。通过

译者|陈峻审校|重楼上个世纪90年代,当人们提起软件编程时,通常意味着选择一个编辑器,将代码检入CVS或SVN代码库,然后将代码编译成可执行文件。与之对应的Eclipse和VisualStudio等集成开发环境(IDE)可以将编程、开发、文档、构建、测试、部署等步骤纳入到一个完整的软件开发生命周期(SDLC)中,从而提高了开发人员的工作效率。近年来,流行的云计算和DevSecOps自动化工具提升了开发者的综合能力,使得更多的企业能够更加轻松地开发、部署和维护软件应用。如今,生成式AI作为下一代开

如何在ASP.NET程序中正确使用和优化MySQL连接池?引言:MySQL是一种广泛使用的数据库管理系统,它具有高性能、可靠性和易用性的特点。在ASP.NET开发中,使用MySQL数据库进行数据存储是常见的需求。为了提高数据库连接的效率和性能,我们需要正确地使用和优化MySQL连接池。本文将介绍在ASP.NET程序中如何正确使用和优化MySQL连接池的方法。

如何在ASP.NET程序中重连MySQL连接?在ASP.NET开发中,使用MySQL数据库是非常常见的。然而,由于网络或数据库服务器的原因,有时会导致数据库连接中断或超时。在这种情况下,为了保证程序的稳定性和可靠性,我们需要在连接断开后重新建立连接。本文将介绍如何在ASP.NET程序中实现重连MySQL连接的方法。引用必要的命名空间首先,在代码文件的头部引用

Vue.js与ASP.NET的结合,实现企业级应用的开发和部署在当今快速发展的互联网技术领域,企业级应用的开发和部署变得越来越重要。Vue.js和ASP.NET是两个在前端和后端开发中广泛使用的技术,将它们结合起来可以为企业级应用的开发和部署带来诸多优势。本文将通过代码示例介绍如何使用Vue.js和ASP.NET进行企业级应用的开发和部署。首先,我们需要安装

如何在ASP.NET程序中正确配置和使用MySQL连接池?随着互联网的发展和数据量的增大,对数据库的访问和连接需求也在不断增加。为了提高数据库的性能和稳定性,连接池成为了一个必不可少的技术。本文主要介绍如何在ASP.NET程序中正确配置和使用MySQL连接池,以提高数据库的效率和响应速度。一、连接池的概念和作用连接池是一种重复使用数据库连接的技术,在程序初始

ASP.NET中的内置对象有“Request”、“Response”、“Session”、“Server”、“Application”、 “HttpContext”、“Cache”、“Trace”、“Cookie”和“Server.MapPath”:1、Request,表示客户端发出的HTTP请求;2、Response:表示Web服务器返回给客户端的HTTP响应等等。

在Linux上使用VisualStudio进行ASP.NET开发的推荐配置概述:随着开源软件的发展和Linux操作系统的普及,越来越多的开发者开始在Linux上进行ASP.NET开发。而作为一款功能强大的开发工具,VisualStudio在Windows平台上一直占据着主导地位。本文将介绍如何在Linux上配置VisualStudio来进行ASP.NE


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

禪工作室 13.0.1
強大的PHP整合開發環境

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

Dreamweaver Mac版
視覺化網頁開發工具

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具