反盗链

盗链是指服务提供商自己不提供服务的内容,通过技术手段绕过其它有利益的最终用户界面(如广告),直接在自己的网站上向最终用户提供其它服务提供商的服务内容,骗取最终用户的浏览和点击率。受益者不提供资源或提供很少的资源,而真正的服务提供商却得不到任何的收益。

  网站盗链会大量消 耗被盗链网站的带宽,而真正的点击率也许会很小,严重损害了被盗链网站的利益。早期的盗链一般是一些比较小的网站盗取一些有实力的大网站的地址,盗链的目 标比较有针对性,现如今,一些大型的网站也已经开始把盗链的目光锁定在了整个互联网上,窃取整个互联网上的其它机器的带宽。

  如果网站盗链,将被大量消耗带宽,真正的点击率也会很小,严重损害了网站的利益。下面是本人收集到的一些反盗链的方法:

  1、不定期更名文件或者目录

  不定期的更改文件或者目录的名称,是最原始的反盗链的方式,可以比较有效地防止盗连,这种方法一般工作量比较大。但是批量的文件改名是完全可以自动化的,而且也比较容易实现。在文件的更名过程中, 可能会有客户正在下载该文件,这样会导致正常的客户访问失败,尽管这个问题容易解决,但是也不能够忽视

  2、限制引用页

  这种防盗链原理是,服务器获取用户提交信息的网站地址,然后和 真正的服务端的地址相比较,如果一致则表明是站内提交,或者为自己信任的站点提交,否则视为盗链。实现时可以使用HTTP_REFERER1 和htaccess 文件(需要启用mod_Rewrite),结合正则表达式去匹配用户的每一个访问请求。对于每一个HTTP 请求, 服务器都要查找.htaccess 文件,增加了读取文件的次数,一定程度上降低了性能。另外,服务器打开这个功能,有比较多的限制。

  3、文件伪装

  文件伪装是目前用得最多的一种反盗链技术,一般会结合服务器端动态脚本(PHP/JSP/ASP)。实际上用户请求的文件地址,只是一个经过伪装的脚本文件,这个脚本文件会对用户的请求作认证,一般会检查Session,Cookie 或HTTP_REFERER 作为判断是否为盗链的依据。而真实的文件实际隐藏在用户不能够访问的地方,只有用户通过验证以后才会返回给用户。

  4、加密认证

  这种反盗链方式,先从客户端获取用户信息,然后根据这个信息和用户请求的文件名字一起加密成字符串(Session ID)作为身份验证。只有当认证成功以后,服务端才会把用户需要的文件传送给客户。一般我们会把加密的Session ID 作为URL 参数的一部分传递给服务器,由于这个Session ID 和用户的信息挂钩,所以别人就算是盗取了链接,该Session ID 也无法通过身份认证,从而达到反盗链的目的。这种方式对于分布式盗链非常有效。

  5、其它方法

  其它反盗链方式也有不少, 这里只列出一个大概思想作为参考:⑴ IIS 反盗链, 利用ISAPI_Rewrite,可作为Windows下反盗链的一个解决方案;⑵图片反盗链,在图片中加入水印,虽然盗链者可以达到目的,但是却也在为自己的网站做宣传。

时间: 2024-12-29 23:49:48

反盗链的相关文章

sevlet实现反盗链

有时候为了网站的版权和安全问题,我们需要为我们的网站应用设置防盗链,这样可以保证我们网站的一些资源的安全性.防盗链的主要是通过获取http的请求头referer的信息来和我们的网站地址做对比,如果相同,说明是通过我们网站点击进来访问该资源,那么允许访问,如果为空.或者不相等,那么就说明不是从我们的网站过来的链接,这时就可以拒绝访问,或者重定向到我们的网站,然后再去访问我们的资源信息. servlet实现防盗链的具体代码如下所示: package com.servlet; import java.

通过设置Referer反"反盗链"

package cn.searchphoto.util; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream; import java.net.URL; import java.net.URLConnection; import java.util.zip.GZIPInputStream; /** * 下载远程网站的图片,通过设置

对付"反盗链"

对付"反盗链" 某些站点有所谓的反盗链设置,其实说穿了很简单, 就是检查你发送请求的header里面,referer站点是不是他自己, 所以我们只需要像把headers的referer改成该网站即可,以cnbeta为例: #... headers = { 'Referer':'http://www.cnbeta.com/articles' } #... headers是一个dict数据结构,你可以放入任何想要的header,来做一些伪装. 例如,有些网站喜欢读取header中的X-Fo

图片盗链与反盗链

1.反盗链的原理 就是使用Request Headers中的Referer信息,它会告诉服务器我是从哪里请求过来的.因此,服务端就可以根据这个参数信息,进行反盗链. 破解方法: 1)a标签的话,可以加上rel="noreferrer",这个是h5一个属性,存在兼容性问题 2)https://github.com/knu/noreferrer 3)<meta name="referrer" content="never">,整个页面的所

图片跳板,图片反防盗链

用于反防盗链图片,图片代理,原理:反盗链图片一般允许空referrer访问,所以使用服务端远程伪造referrer抓取图片,然后输出image/* 格式达到反防盗链的效果. 前台使用:<img src="跳板地址/GetImg?imgUrl=原图片地址" /> public FileResult GetImg(string imgUrl) { Uri url = new Uri(imgUrl); HttpWebRequest req = (HttpWebRequest)We

图片盗链的攻与防

前言: 之前在整理nginx资料的时候, 里面谈到过防盗链的配置. 当时觉得有些新鲜(还是自己孤陋寡闻了), 毕竟很少接触这个概念或者说是名词. 大致的意思时, 防止他人的网站引用你的图片, 进而消耗你网络带宽资源的一种措施. 本文将讲述防盗链的原理, nginx如何配置防盗链, 以及如何反防盗链的一些思路. 笔者这是简单谈谈, 权当抛砖引玉. 科普: 他人网站未经你的允许, 引用你网站的资源链接(图片/文档). 不仅消耗你服务器的网络带宽, 甚至侵害你的利益, 间接盗取你的网站流量, 所以危害

nignx-防盗链

环境 主机                  IP            角色 centos6.5-1       192.168.3.10      源主机 centos6.5-2       192.168.3.11      盗链接主机 一.分别在两台主机上搭建nginx 二.设置源主机 vim /usr/local/nginx/html/index.html <head> <meta charset=utf-8> </head> <h1>源主机<

php如何防止图片盗用/盗链的两种方法(转)

图片防盗链有什么用? 防止其它网站盗用你的图片,浪费你宝贵的流量.本文章向大家介绍php防止图片盗用/盗链的两种方法 Apache图片重定向方法 设置images目录不充许http访问 Apache服务器下防止图片盗链的办法 如果你的网站以图片为主,哪天发现月底没到流量就快用光了,那就可以利用图片转向,在不修改网页的前提下,把图片下载请求转向到其它空间(比如试用主机),临时过渡. (详细请点击)http://www.cnblogs.com/myhomepages/p/6017867.html

web盗链及防盗链的措施

作为普通的网民来说,一般不需要知道也不用关心什么是盗链,不过如果你是网站的开发者或维护者,就不得不重视盗链的问题了.如果你刚刚开发完一个没有防盗链的带有文件下载功能的网站,挂上internet,然后上传几个时下非常热门的软件或电影并在网站内公布下载地址,让MSN上的所有好友都来体验一下你的杰作.不用多久就会发现网速出奇地变慢,甚至服务器托管中心的服务员会热情地打电话告诉你的网站流量很大,估计是网站受欢迎起来了,问你是不是该考虑加钱租用带宽更宽但价格更贵的网线了.在这个值得庆祝的时候赶快打开Goo