`
xinlanzero
  • 浏览: 253032 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

网站的防盗链系统是如何做的?

 
阅读更多

 防盗链原理:

  http标准协议中有专门的字段记录referer

  一来可以追溯上一个入站地址是什么

  二来对于资源文件,可以跟踪到包含显示他的网页地址是什么。

  因此所有防盗链方法都是基于这个Referer字段

  网上比较多的2种

  一种是使用apache文件FileMatch限制,在httpd.conf中增加 ( 其实也可以将把下面的语句存成一个.htaccess文件),并放到你的网站的根目录(就是www/html目录),这样子别人就没有办法盗连你的东东了~~

  SetEnvIfNoCase Referer "^http://yahoo.com/" local_ref=1

  Order Allow,Deny

  Allow from env=local_ref

  Allow from 127.0.0.1

  这种很方便禁止非允许访问URL引用各种资源文件

  请大家注意,把第一句"^http://yahoo.com/"改为你的网站,比如我的网站是: http://www.linji.cn

  我应该这么写的

  "^http://www.linji.cn/"

  第二种是使用rewrite,需要增加apache的mode_rewrite,支持.htaccess文件目录权限限制

  在虚拟主机根目录增加.htaccess文件,描述从定向,把非本地地址refer的图片文件都从定向到警告图片或者警告网页上。

  首先要确认你的服务器或空间的服务器解译引擎为Apache2,还有支持.htaccess客户设置文件,

  如果你有自己的服务器就请先对./conf/httpd.conf 文件做以下修改

  找到:#LoadModule rewrite_module modules/mod_rewrite.so

  把前面的 # 给去丢

  找到等一个 AllowOverride None 改为 AllowOverride All

  重启Apache2服务器

  接下就是做一个 .htaccess 文件了,其 .htaccess 文件内容为

  RewriteEngine on

  RewriteCond %{HTTP_REFERER} !^http://aaoo.net/.*$ [NC]

  RewriteCond %{HTTP_REFERER} !^http://aaoo.net$ [NC]

  RewriteCond %{HTTP_REFERER} !^http://www.aaoo.net/.*$ [NC]

  RewriteCond %{HTTP_REFERER} !^http://www.aaoo.net$ [NC]

  RewriteRule .*.(jpg|jpeg|gif|png|bmp|rar|zip|exe)$ http://down.yoyo.com.ru/err.html [R,NC]

  其中有色的地方都是要改为你的:

  红色:就是改为你提供下载页面的地址,也就是只有通过这个地址才可以下载你所提供的东东。

  蓝色:就是要保护文件的扩展名(以|分开),也就是说以这些为扩展名的文件只有通过红色的地址才可以访问。

  绿色:如果不是通过红色的地址访问蓝色这些为扩展名的文件时就回重定向到绿色地址上。

  这个方法有个好处是,不同的虚拟主机用不同的描述定义。

  接下就是怎么用 .htaccess 文件来实现防盗链了。

  首先要在空间上建两个目录(当然目录名随你),一个为 web 另一个为 down ,

  web 是用来放下载页面的(或下载程序),down 当然就是放你提供的东东的啦,

  把 .htaccess 文件的红色部分改一下,改为http://你的域名/web。蓝色部分

  改为你要保护文件的扩展名。绿色部分改为http://你的域名/web。改后保存

  .htaccess 文件把它上传到 down 目录。

  还有第三种:

  我在解决plog禁止盗链的时候,发现个问题,也算个好方法。

  plog把所有资源都自己管理起来,用resserver.php来动态显示,这样统一的入口方便添加权限操作。

  同时造成上面2种方法无法使用,因为不再是apache直接访问资源文件,而是php通过文件读取。

  因此只能在代码中做手脚:在读取资源文件输出之前,加如下判断代码

  引用

  $referer = $_SERVER['HTTP_REFERER'];

  $selfurl = $_SERVER['HTTP_HOST'];

  if(false == strpos($referer,$selfurl))

  {

  echo '非法盗链!';

  exit(1);

  }

  这里有些偷懒,直接看引用地址中是否包含host地址,不过原理就是这样,判断referer是否是本站地址。

  我们常常在下载的时候,也碰到盗链网站无法下载,报盗链的问题。要下载这类文件最简单的方法就是改referer

  比方flashget中,网址下面的"引用"一栏中,直接填写下载地址就可以了。

 

分享到:
评论

相关推荐

    Java爬虫小例子,爬取小网站,突破防盗链下载图片

    这个"Java爬虫小例子"项目展示了如何利用Java来爬取小型网站,特别是那些有防盗链保护的图片资源。防盗链是网站为了防止其他网站直接引用其服务器上的资源而采取的一种防护措施。下面我们将深入探讨相关的知识点。 ...

    IIS防盗链附带防盗链效果 for phpwind.rar

    标题"IIS防盗链附带防盗链效果 for phpwind.rar"涉及到的是互联网服务器技术中的一个关键概念,即IIS(Internet Information Services)防盗链功能,并且是针对PHPWind论坛系统的。PHPWind是一款流行的开源社区建站...

    C#防盗链系统 httpHandlers

    在IT行业中,防盗链系统是一种常见的安全措施,用于防止他人盗用网站的资源,比如图片、视频或音频等。在本案例中,我们将探讨如何使用C#编程语言和httpHandlers来构建一个这样的系统。C#是微软开发的一种面向对象的...

    NoLinkMe网站防盗链系统(ISAPI过滤器)

    NoLinkMe网站防盗链系统是一款基于ISAPI过滤器技术的高效解决方案,主要用于保护网站资源不被非法外部链接盗用。ISAPI(Internet Server Application Programming Interface)是微软为IIS(Internet Information ...

    纵横IIS防盗链嗅探狗

    【纵横IIS防盗链嗅探狗】是一款专为IIS(Internet Information Services)服务器设计的安全工具,主要用于防止网站资源被其他站点非法引用,即所谓的“防盗链”。在互联网上,某些站点可能会通过链接直接调用其他...

    IIS防盗链,示例文件

    2. **音乐网站防盗链** 对于音乐网站,防盗链尤为重要,因为音频文件通常较大,如果被其他网站直接引用,可能导致大量带宽流失。IIS可以通过设置URL筛选规则,只允许特定域名下的请求访问音乐文件,或者限制非登录...

    WBAL防盗链工具 v0.1

    《WBAL防盗链工具 v0.1》是一款专为ASP.NET环境设计的防盗链解决方案,旨在保护网站资源不被未经授权的第三方非法获取和利用。在IIS(Internet Information Services)服务器上部署此工具,可以有效地防止其他网站...

    c++ 64位下防盗链

    防盗链技术是为了防止资源被未经授权的第三方网站或者用户非法引用,从而保护服务器资源不被滥用。下面将详细讲解这些知识点。 1. **64位系统编程**: 在64位操作系统下,程序的运行机制和32位有所不同。主要体现...

    Java防盗链在报表中的应用实例

    本文将深入探讨Java防盗链技术在报表系统中的应用实例,尤其以FineReport报表软件与决策系统结合的情况来分析。 首先,我们得了解什么是防盗链。防盗链技术是一种旨在防止网站上的资源被未经授权的方式获取和传播的...

    C#防盗链实现入门级别

    随着技能的提升,你可以逐步学习和实现这些高级特性,以增强你的防盗链系统。同时,ASP.NET Core引入了Middleware的概念,可以使用类似的方式实现相同的功能,但架构更为灵活和高效,对于进阶开发者来说是一个不错的...

    易影中国IIS防盗链图片系统

    通过判断是不是由本站点出的链接来防盗链,无需在网站中加入任何代码,十分适用于图片、文章站适用于ASP、PHP、JSP任何脚本语言,不适合静态HTM网页。该版本没有任何服务器台数和域名的限制。 该版本为免费版不具有...

    Serv-u防盗链插件(UUFTP防盗链)

    而且本插件最大的优势就是无须借助第三方数据库来存储用户帐号信息,只需判断加密字符串是否为合法字符串即可,所以说本插件占用的额外系统资源几乎可以忽略不计,如果采用数据库方式不仅需要反复连接读取数据库信息...

    Asp.Net MVC 图片防盗链(v_1.1.0)

    通过以上知识点的综合运用,可以构建出一套高效且安全的Asp.Net MVC图片防盗链系统。在实际项目中,可能还需要根据具体需求进行定制和优化,确保既能有效防止图片被盗用,又能提供良好的用户体验。在提供的"ImgRule...

    C# ASP.NET 模块 - 防盗链模块

    通过这种方式,你可以创建一个强大的防盗链系统,保护你的服务器资源免受非法访问。但请注意,防盗链并非万无一失,有些高级攻击者可能会绕过Referer检查。因此,建议结合其他安全措施,如限制IP访问频率、使用访问...

    我来教你玩转MYIIS-VIF 防盗链 基础防盗链.docx

    【MYIIS-VIF 防盗链技术详解】 防盗链技术是网络服务器为了保护自身资源不被未经授权的外部站点引用而采取的一种措施。当你在服务器上发布诸如图片、视频或音频等素材时,你希望用户是通过你的网站直接访问,而非...

    文件防盗链的实现(射雕英雄java传系列)

    标题中的“文件防盗链的实现(射雕英雄java传系列)”指的是通过编程技术来防止他人未经许可盗用网站上的文件,如图片、音频或视频等。在这个特定的上下文中,我们可能关注的是Java语言实现的防盗链技术。防盗链是为了...

    Asp.net防盗链实例源码_aspx开发教程.rar

    在Asp.net开发中,防盗链(Anti-Linking)是一项重要的技术,它主要用于防止其他网站未经许可就直接引用或盗用服务器上的资源,如图片、视频、音乐等。这不仅保护了网站的知识产权,还能避免服务器带宽被过度消耗。...

    附件防盗链-管理插件 V3

    "附件防盗链-管理插件 V3"是一个针对pjblog平台设计的插件,主要用于防止网站附件被他人非法盗链,保护网站资源不被滥用。这个插件版本为V3.0,通常代表着相较于之前的版本,它可能包含了更多功能优化、性能提升以及...

    IISColander IIS 入侵检测_防盗链_流量控制系统

    防盗链功能:即使你的网站程序不支持防盗链功能,通过本程序,也可以进行防盗链行为.本程序可以设定防盗链的文件类型,也可以充许友人服务器进行盗链行为,如果一台服务器有多个网站,可以设定不需要防盗链检测的网站 ...

    基于C#+Asp.net实现的网站防盗链实例源程序代码

    【基于C# ASP.NET实现的网站防盗链实例源程序代码】是一个典型的Web应用程序,用于防止其他网站未经许可直接引用或“盗链”你网站上的资源,如图片、视频或者文件等。这一技术对于减少服务器带宽消耗、保护内容版权...

Global site tag (gtag.js) - Google Analytics