防盗链原理

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

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

引子:明明引用了一个正确的图片地址,但显示出来的却是一个红叉或写有“此图片仅限于***网站用户交流沟通使用”之类的“假图片”(下图便是网易博客的防盗链效果)。用嗅探软件找到了多媒体资源的真实地址用下载软件仍然不能下载。下载一些资源时总是出错,如果确认地址没错的话,大多数情况都是遇上防盗链系统了。常见的防盗链系统,一般使用在图片、音视频、软件等相关的资源上。
防盗链原理
       
 一、什么是防盗链系统
        在确保地址正确的情况下,不能下载相应的资源,均是受到防盗链系统的影响,那么究竟什么是防盗链系统呢?防盗链自然就是防范盗链,所以这里先说一下什么是盗链。
        
盗链是指在自己的页面上展示一些并不在自己服务器上的内容。通常的做法是通过技术手段获得它人服务器上的资源地址,绕过别人的资源展示页面,直接在自己的页面上向最终用户提供此内容。比较常见的是一些小站盗用大站的资源(图片、音乐、视频、软件等),对于这些小站来说,通过盗链的方法可以减轻自己服务器的负担,因为真实的空间和流量均是来自别人的服务器。
        防盗链系统就是防范盗链的系统,防止别人通过一些技术手段绕过本站的资源展示页面,盗用本站的资源,让绕开本站资源展示页面的资源链接失效。实施防盗链系统后,因为屏蔽了那些盗链的间接资源请求,从而可以大大减轻服务器及带宽的压力,也正如此,越来越多的站点都开始实施防盗链技术。
        
二、窥视防盗链
        现在大家应该知道了为什么有真实地址仍然不能下载,这就是防盗链的作用。凡事必有因果,为什么可以防盗链呢,其实现原理是什么?防盗链又是如何实现的呢?
        提到防盗链的实现原理就不得不从HTTP协议说起,在HTTP协议中,有一个表头字段叫referer,采用URL的格式来表示从哪儿链接到当前的网页或文件。换句话说,通过referer,网站可以检测目标网页访问的来源网页,如果是资源文件,则可以跟踪到显示它的网页地址。有了referer跟踪来源就好办了,这时就可以通过技术手段来进行处理,一旦检测到来源不是本站即进行阻止或者返回指定的页面。
如果想对自己的网站进行防盗链保护,则需要针对不同的情况进行区别对待。如果网站服务器用的是apache,那么使用apache自带的Url Rewrite功能可以很轻松地防止各种盗链,其原理是检查refer,如果refer的信息来自其他网站则重定向到指定图片或网页上。
        如果服务器使用的是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这一地址,下载时发现采用了防盗链技术,这时可以在新建下载任务时人为添加“引用页:”。因为绝大多数防盗链只是判断引用页是不是本站,所以这一方法可以突破防盗链进行下载,但不是所有情况下均有效。
防盗链原理
        默认情况下,迅雷的新建任务对话框中是没有“引用页”项的,需要在迅雷中执行“工具→配置”,在打开的“配置面板”对话框中,在“任务默认属性”标签中,勾选“新建面板显示引用页”复选框即可。
防盗链原理
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/163495.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • linux出现e325错误,用Vim编辑文件时出现E325: ATTENTION错误的解决方法「建议收藏」

    linux出现e325错误,用Vim编辑文件时出现E325: ATTENTION错误的解决方法「建议收藏」用Vim编辑文件时出现E325:ATTENTION错误的解决方法当用Vim编辑一个文件时出现下列错误[root@zabbix~]#vim/usr/local/msmtp/etc/msmtprcE325:ATTENTIONFoundaswapfilebythename”/usr/local/msmtp/etc/.msmtprc.swp”ownedby:rootdat…

  • 回文字符串判断以及最长回文字符串长度判断「建议收藏」

    回文字符串判断以及最长回文字符串长度判断「建议收藏」回文字符串,就是正着反着读都一样的字符串。1、回文字符串判断假如这个字符串为奇数长度的回文字符串,则除了最中间的字符外,其左右的字符串两两相同。假如这个字符串为偶数长度的回文字符串,则其左右完全对称。代码如下:#include<iostream>#include<string>usingnamespacestd;boolpalindrome(strin…

  • ThreadPool.QueueUserWorkItem启动慢

    ThreadPool.QueueUserWorkItem启动慢一、问题描述ThreadPool.QueueUserWorkItem启动慢,在项目过程中发现当线程数量达到一定量的时候发线线程启动速度慢,影响了正常的实时性业务。二、解决方法加入ThreadPool.SetMinThreads(1000,1000)后,整个进程启动变块。如图1和图2,变快了。…

  • Keil(MDK-ARM)介绍、下载、安装与注册[通俗易懂]

    Keil(MDK-ARM)介绍、下载、安装与注册[通俗易懂]推荐分享一个大神的人工智能教程。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到人工智能的队伍中来!http://www.captainbed.net/strongerhuang推荐在我的公众号「strongerHuang」或网站(www.strongerhuang.com)阅读以下教程:Keil系列教程01_Keil介绍、下载、安装与注册Keil系列教程02_新建基础软件…

  • linux内核版本介绍_如何查看linux内核

    linux内核版本介绍_如何查看linux内核在下水平相当有限,不当之处,还望大家批评指正^_^1.标准内核版本信息看下图(截自https://www.kernel.org/)第一列,版本性质:主分支(mainline),稳定版(stable),长期维护版(longterm)第二列,版本号。-rc表示非正式发布版本,[EOL]表示本分支最后一个版本。第三列,版本发布日期。patch列是补丁。用于从本分支

  • 2020年10月程序员工资统计,平均14459元

    点击上方“全栈程序员社区”,星标公众号 重磅干货,第一时间送达 作者:有数可据 blog.csdn.net/juwikuang/article/details/108903665 …

发表回复

您的电子邮箱地址不会被公开。

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