谈谈网站防盗链

谈谈网站防盗链#开启重写引擎RewriteEngineon#图片防盗链RewriteCond%{HTTP_REFERER}!http://rewrite/.*RewriteRule.*\.(jpg|jpeg|png|gif)daotu.jpg引子:明明引用了一个正确的图片地址,但显示出来的却是一个红叉或写有“此图片仅限于***网站用户交流沟

大家好,又见面了,我是你们的朋友全栈君。

    #开启重写引擎  
    RewriteEngine on  
    #图片防盗链  
    RewriteCond %{HTTP_REFERER} !http://rewrite/.*  
    RewriteRule .*\.(jpg|jpeg|png|gif)  daotu.jpg  

引子:明明引用了一个正确的图片地址,但显示出来的却是一个红叉或写有“此图片仅限于***网站用户交流沟通使用”之类的“假图片”(下图便是网易博客的防盗链效果)。用嗅探软件找到了多媒体资源的真实地址用下载软件仍然不能下载。下载一些资源时总是出错,如果确认地址没错的话,大多数情况都是遇上防盗链系统了。常见的防盗链系统,一般使用在图片、音视频、软件等相关的资源上。


谈谈网站防盗链


一、什么是防盗链系统
        在确保地址正确的情况下,不能下载相应的资源,均是受到防盗链系统的影响,那么究竟什么是防盗链系统呢?防盗链自然就是防范盗链,所以这里先说一下什么是盗链。

       
盗链是指在自己的页面上展示一些并不在自己服务器上的内容。通常的做法是通过技术手段获得它人服务器上的资源地址,绕过别人的资源展示页面,直接在自己的页面上向最终用户提供此内容。比较常见的是一些小站盗用大站的资源(图片、音乐、视频、软件等),对于这些小站来说,通过盗链的方法可以减轻自己服务器的负担,因为真实的空间和流量均是来自别人的服务器。
       
防盗链系统就是防范盗链的系统,防止别人通过一些技术手段绕过本站的资源展示页面,盗用本站的资源,让绕开本站资源展示页面的资源链接失效。实施防盗链系统后,因为屏蔽了那些盗链的间接资源请求,从而可以大大减轻服务器及带宽的压力,也正如此,越来越多的站点都开始实施防盗链技术。
       
二、窥视防盗链
        现在大家应该知道了为什么有真实地址仍然不能下载,这就是防盗链的作用。凡事必有因果,
为什么可以防盗链呢,其实现原理是什么?防盗链又是如何实现的呢?
        提到防盗链的实现原理就不得不从HTTP协议说起,在HTTP协议中,有一个表头字段叫referer,采用URL的格式来表示从哪儿链接到当前的网页或文件。换句话说,通过referer,网站可以检测目标网页访问的来源网页,如果是资源文件,则可以跟踪到显示它的网页地址。有了referer跟踪来源就好办了,这时就可以通过技术手段来进行处理,一旦检测到来源不是本站即进行阻止或者返回指定的页面。

如果想对自己的网站进行防盗链保护,则需要针对不同的情况进行区别对待。
如果网站服务器用的是apache,那么使用apache自带的Url Rewrite功能可以很轻松地防止各种盗链,其原理是检查refer,如果refer的信息来自其他网站则重定向到指定图片或网页上。
.htaccess文件中加入下配置

    <span style="color:#009900;">#开启重写引擎  
    RewriteEngine on  
    #图片防盗链  
    RewriteCond %{HTTP_REFERER} !http://rewrite/.*  
    RewriteRule .*\.(jpg|jpeg|png|gif)  daotu.jpg</span>  
        如果服务器使用的是IIS的话,则需要通过第三方插件来实现防盗链功能了,现在比较常用的一款产品叫做ISAPI_Rewrite,可以实现类似于apache的防盗链功能。另外对于论坛来说还可以使用“登录验证”的方法进行防盗链。
       
三、以子之予攻子之盾,防盗链的激活成功教程

        尽管防盗链技术越来越成熟,激活成功教程相对来说难度较大,但在了解原理之后,大多都可以针对其防范的原理入手进行激活成功教程。
        对于图片防盗链,已经有人给出了详细的激活成功教程代码,对应的代码页面笔者已上传到笔者以前的个人博客空间中,在转发图片时,在图片地址前面加上“http://www.z7z8.com.cn/old/pic.asp?url=”地址即可解决图片防盗链问题。如果有自己的网站空间可以直接从
http://www.z7z8.com.cn/old/pic.zip下载,解压后上传到自己的空间中,转贴时在图片地址前面加上“域名/路径/pic.asp?url=”即可。

对于文件资源的防盗链,可以通过人为的加上引用页的方法来解决不能下载的问题,如获得
http://www.z7z8.com.cn/old/pic.zip这一地址,下载时发现采用了防盗链技术,这时可以在新建下载任务时人为添加“引用页:”。因为绝大多数防盗链只是判断引用页是不是本站,所以这一方法可以突破防盗链进行下载,但不是所有情况下均有效。


谈谈网站防盗链

默认情况下,迅雷的新建任务对话框中是没有“引用页”项的,需要在迅雷中执行“工具→配置”,在打开的“配置面板”对话框中,在“任务默认属性”标签中,勾选“新建面板显示引用页”复选框即可。


谈谈网站防盗链

小提示:

        上面讨论的只是较初级的防盗链也激活成功教程,随着技术的日新月异,防盗链技术也飞速发展,因此现在的防盗链技术也要先进、复杂得多了。所以上面提到的激活成功教程方法并不一定针对所有的防盗链情况适用。

参考自
http://windyli.blog.51cto.com/1300305/315283

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/163497.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ZOJ 3876 May Day Holiday[通俗易懂]

    ZOJ 3876 May Day Holiday

    2022年3月5日
    36
  • springboot实现ajax跨域请求

    springboot实现ajax跨域请求有段时间没写文章了。看到有人提问ajax跨域请求的问题。博主要再次强调,跨域,就是从不同的的IP端口获取数据,比如说,从www.baidu.com获取数据,就叫跨域!那么localhost:8080与localhost:8081之间呢?也叫跨域。如果处理的不好,就会报错,不仅前端报错,后端也会报错。那么如何解决呢?着急的人,请直接往下看,不急的请听我细细道来,一定能解决您的问题。我再此保证

    2022年6月17日
    39
  • GPS通讯协议(NMEA0183)协议解析_台积电回应芯片巨头撤离

    GPS通讯协议(NMEA0183)协议解析_台积电回应芯片巨头撤离GPSNEMA0183协议 一、NMEA0183标准语句(GPS常用语句)$GPGGA例:$GPGGA,092204.999,4250.5589,S,14718.5084,E,1,04,24.4,19.7,M,,,,0000*1F字段0:$GPGGA,语句ID,表明该语句为GlobalPositioningSystemFixData(GGA)GPS定位信息字段1

    2025年6月12日
    13
  • C++语法篇之STL库[通俗易懂]

    C++语法篇之STL库[通俗易懂]STL是StandardTemplateLibrary的缩写,即标准模板库。之前在写Templates模板的时候,提到过STL对于模板的应用。STL是由多个模板类构成,能够为开发者提供通用的数据结构和算法。STL主要包含以下内容:一个简单的vector示例:创建int类型的向量,并实现初始化、赋值和打印操作。输出结果:从上边的例子可以体现出vector的健壮性,vector是一个动态的数组模板,可以在程序运行过程中高效地添加或者删除元素,为程序设计提供了很大的灵活性。最后,关于STL还有很

    2022年8月31日
    3
  • linux之scp命令文件传输

    linux之scp命令文件传输在开发时经常会遇到两台机器之间传文件或者安装包,这就用到了scp命令。

    2022年8月22日
    8
  • tcp四次挥手,为什么是四次?「建议收藏」

    tcp四次挥手,为什么是四次?「建议收藏」四次挥手的原因;为什么要有TIME_WAIT状态?2MSL的的意义;四次挥手中如果有一次挥手失败怎么处理?

    2022年5月5日
    54

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号