`
gaojingsong
  • 浏览: 1163505 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

【java实现防盗链】

阅读更多

浏览器中直接输入URL的时候,它的头文件是空的,因此,可以在访问的时候做两个判断:头文件是否为空以及以什么页面进行跳转,如果不符合跳到错误页面即可。

 

什么是Referer?

这里的 Referer 指的是HTTP头部的一个字段,也称为HTTP来源地址(HTTP Referer),用来表示从哪儿链接到目前的网页,采用的格式是URL。换句话说,借着 HTTP Referer 头部网页可以检查访客从哪里而来,这也常被用来对付伪造的跨网站请求。

 

 

什么是盗链

假设一个网站的首页中想显示一些图片信息,而该网站的服务器中并没有这些图片资源,它就通过在Html文件或jsp文件中使用img标签链接到其他网站的图片资源,将其展示给浏览者,这就是盗链。

 

如何防盗链

在本网站中,对所有请求都进行判断请求信息中Referer请求头的值是否是本站的url,如果不是可以阻止其访问或跳转到指定的页面。

 

防盗链原理

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

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

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

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

 

防盗链的作用

在很多地方,如淘宝、拍拍、有啊等C2C网站,发布商品需要对宝贝进行描述,就需要图片存储,而为了使自己辛辛苦苦拍摄的图片不被别人调用,就需要防盗链的功能。

提供防盗链的图片网站很多,如有照片、又拍网、百度相册、QQ相册、网易相册等等,但是既能支持网店外链,又有防盗链功能的网站很少,其中做的比较好的如又拍网、有照片,可以选择单独图片或者多张图片防盗链,使用方便快捷。

 

使用Referer请求头要注意以下两点:

如果是在浏览器地址栏上直接访问,那么请求信息中就没有Referer请求头。

如果在页面中点击超链接或者提交表单,请求信息中存在Referer请求头。

 

 

Referer请求头有以下两个用途:

统计工作

防盗链

 

什么是空Referer,什么时候会出现空Referer?

首先,我们对空Referer的定义为,Referer 头部的内容为空,或者,一个HTTP请求中根本不包含Referer头部。

那么什么时候HTTP请求会不包含Referer字段呢?根据Referer的定义,它的作用是指示一个请求是从哪里链接过来,那么当一个请求并不是由链接触发产生的,那么自然也就不需要指定这个请求的链接来源。

比如,直接在浏览器的地址栏中输入一个资源的URL地址,那么这种请求是不会包含Referer字段的,因为这是一个“凭空产生”的HTTP请求,并不是从一个地方链接过去的。

 

在防盗链设置中,允许空Referer和不允许空Referer有什么区别?

在防盗链中,如果允许包含空的Referer,那么通过浏览器地址栏直接访问该资源URL是可以访问到的;

但如果不允许包含空的Referer,那么通过浏览器直接访问也是被禁止的。

 

 

0
0
分享到:
评论

相关推荐

    java 防盗链详解及解决办法

    主要介绍了 java 防盗链详解及解决办法的相关资料,这里介绍了防盗链的概念、产生原因及Http中的referer,最后介绍解决办法,需要的朋友可以参考下

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

    所用的工具是报表软件FineReport,搭配有决策系统(一个web前端展示系统,主要用于权限控制),可以采用java防盗链的方式来实现页面权限。

    防盗链filter

    java 防盗链 filter 可以避免网站 资源被其他网站 盗用。

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

    NULL 博文链接:https://bluesky998.iteye.com/blog/567261

    java防盗链在报表中的应用实例(推荐)

    下面小编就为大家带来一篇java防盗链在报表中的应用实例(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    基于HTML实现影音娱乐网站_无组件音乐防盗链程序(PHP)_ft_php(HTML源码+数据集+项目使用说明).rar

    对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步...

    [影音娱乐]无组件音乐防盗链程序(PHP)_ft_php.rar

    对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步...

    Java架构师技术栈.txt

    Web常用攻击手段之防盗链&防止CSRF模拟请求............12分布式解决方案-分布式配置中心-SpringBoot客户端整合Apollo分布式配置中心.......14-分布式解决方案-分布式锁解决解决方案-基于Redis方式实现分布式锁........

    Java Web端程序实现文件下载的方法分享

    主要介绍了Java Web端程序实现文件下载的方法分享,包括一个包含防盗链功能的专门针对图片下载的程序代码示例,需要的朋友可以参考下

    VideoJs播放MP4视频通过blob加密视频源地址

    支持使用VideoJs播放MP4视频,并且通过blob加密视频源地址,避免直接暴露视频URL,防盗链

    Scala进阶_继承

    继承 scala语言是支持面向对象编程的,我们也可以使用scala来实现继承,通过继承来减少重复代码。...[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XAY7TUAj-1581824945907)(assets/1557324

    自带 CMS 系统的云转码系统,一体化自动发布云转码 cms 系统

    自带 CMS 系统的云转码系统,一体化自动发布云转码 cms 系统。主要实现功能: 一、视频批量上传,视频... 四、一键获取分享链接,防盗链设置,只允许指定域名 ifream 调用,token 防盗链等。 五、自带完备的 CMS 系统。

    基于大数据平台数据分析技术选型调研.pdf

    源站可能有防盗链机制,建议将图⽚保存下来直接上传(img-LLlTJW0P-1615273602194) (C:\Users\Lenovo\AppData\Roaming\Typora\typora-user-images\image-20210124224553335.png)] 优点: 1. 可⽤于⽣产环境 2. ⽀持...

    Http/FTP多线程断点续传下载组件

    支持设置Refer:点量Http/FTP下载组件支持设置下载时的Refer,以便可以绕过一些防盗链的网站,直接下载内容。 限速功能:点量Http/FTP下载组件可方便的设置下载限速。 多种磁盘分配方式:点量Http/FTP下载组件支持...

Global site tag (gtag.js) - Google Analytics