防盗链设置及一些绕过防盗链的方法

再nginx集群内设置防盗链

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$

                        
{

                                
valid_referers none blocked *.tappal.com tappal.com;

                                
if 
($invalid_referer) {

                                        
return 
404;

                        
}

                                
expires      30d;

                        
}

在java程序内

设置防盗链的filter

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)

throws IOException, ServletException {
            HttpServletRequest req = (HttpServletRequest) request;
            HttpServletResponse resp = (HttpServletResponse) response;
            String referer = req.getHeader("referer");
            if(null != referer && referer.trim().startsWith("http://localhost:8080/baidu")){
                 System.out.println("正常页面请求");
                 chain.doFilter(req, resp);
            }else{
                 System.out.println("盗链");
                 req.getRequestDispatcher("/html/error.html").forward(req, resp);
            }
 }

最核心的其实也就是这句  String referer = req.getHeader("referer");

再来看看绕过防盗链的措施

使用iframe方法

<script>window.sc="<img src=‘http://cdn.archdaily.net/wp-content/uploads/2011/06/1309476244-elicium-rai-01-528x351.jpg?"+Math.random()+"‘>";</script>  
<iframe id="imiframe" src="javascript:parent.sc" style="border:none; overflow: hidden;" scrolling="no" frameborder="0" ></iframe>

使用代码加入header里的refer

def getHttpFile(address,filename){

def f = new File(filename)
   if(f.exists()){
       return;
   }
   def file = new FileOutputStream(filename)
   def out = new BufferedOutputStream(file)
   println ‘Download file: ‘ + filename
   def url = new URL(address)
   def urlConn = url.openConnection()
  urlConn.setRequestProperty(‘Referer‘,xxxxxx‘)  //xxx为要访问的目标网站
   urlConn.connect()
   out << urlConn.getInputStream()
   println ‘Download over: ‘ + filename
   out.close()
}

都是从header里做手脚

时间: 2024-07-28 14:42:48

防盗链设置及一些绕过防盗链的方法的相关文章

什么是防盗链设置中的空Referer

设置防盗链时候指明和不指明空Referer的区别及实现后的效果? 什么是Referer? 这里的 Referer 指的是HTTP头部的一个字段,也称为HTTP来源地址(HTTP Referer),用来表示从哪儿链接到目前的网页,采用的格式是URL.换句话说,借着 HTTP Referer 头部网页可以检查访客从哪里而来,这也常被用来对付伪造的跨网站请求. Referer的正确英语拼法是referrer.由于早期HTTP规范的拼写错误,为了保持向后兼容就将错就错了.其它网络技术的规范企图修正此问题

nginx防盗链设置

#防盗链设置 location ~* \.(jpe?g|png|gif|php|html|htm|zip|apk|plist|ipa)$ { # referer_hash_bucket_size 64; # referer_hash_max_size 2048; valid_referers none blocked apicloud.com *.apicloud.com ; if ($invalid_referer) { return   403; } proxy_pass http://WE

Nginx防盗链配置实例——从盗链模拟到防盗链设置流程细解

Nginx防盗链设置 ? 对于图片来说,A网站,如果想使用B网站的图片,可以直接写上B网站图片的链接地址,或者将B网站的图片通过右键另存为的方式下载到本地,然后在页面上使用.如果B网站不想A网站这么干了,那么B网站可以采取防盗链的措施来干这个工作,结果就是,A网站想请求所需要的资源,通过url的方式,获取的可能不是原来的图片了,出现404或者别的图片替代了.如果通过浏览器直接打开图片url,那么仍然有可能显示404,这就是防盗链. ? 下面我们先进行盗链的操作过程:就是如何做盗链网站--盗取别人

通过设置Referer反&quot;反盗链&quot;

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; /** * 下载远程网站的图片,通过设置

新手如何发网站外链,网站的外链如何发,发外链的方法集合

一和大家分享一下我是如何做反连接链的.一般做反连接我只追求两件事情.一.数量.二.稳定性.对于像我这样的新人和缺乏资源的人来讲能做的就是增加外链数量,做好外链的稳定性工作.所谓的稳定性就是发了的外链就要尽量让它别消失,这点群发软件就很难做到,特别是英文站.现在好多人认为的外链的相关性和外链的pr都很重要,其实我对这两点从来不在乎,原因 是因为对于一些商业热词,一般相关的网站多为同行竞争对手,所以想找相关性外链并不是很现实的,第二个大家认为高pr额外链很重要,这点我不否认,但是哪有那么多高质量的p

区块链开发(五)区块链ICO:互联网进化的驱动力

区块链开发(五)区块链ICO:互联网进化的驱动力 李赫 2016年10月8日 由于区块链不可篡改的特性,在众多区块链组织和公司的共同努力下,互联网将逐步从中心化的信任进化到由算法.数据为核心的去中心化信任.随着中心化的信任中介被逐渐削弱和替代,互联网的运作方式将被以区块链为代表的系统所改变.因此,区块链不仅是一种技术,更是一个关于互联网进化的故事,尽管这个故事还有些遥远,但它已经有了萌芽和初步的发展. 区块链ICO,正是符合去中心化趋势,通过全球众筹,可以将沉淀在全球的小额资金充分利用起来,形成

网站外链建设:论坛签名外链还值得做吗?

做过SEO的人应该都知道,在前几年的时候,论坛签名外链可是网站外链建设的一大利器,只需设置一个带外链的论坛签名,然后在论坛发发帖.回复一下帖子,就能带来很多高质量的外链.现在,由于百度算法的调整,论坛签名外链的作用被大大稀释,那么现在论坛外链还值得做吗?下面笔者就根据自己的经验谈下看法.    首先,单从网站建设的SEO优化角度来看,如果网站的SEO优化是针对百度,论坛签名外链确实是不值得做的.由于百度算法的调整,现在论坛签名外链能给网站带来的权重几乎为0.由于网站外链建设是需要花费大量的时间和

责任链或过滤器模式-使用过滤链

//过滤器接口 public interface Filter { public void doFilter(Request req,Response res,FilterChain c); } //客户端传递的内容到服务器 //模拟javaweb中的request public class Request { public String requestStr; } //服务器反馈的内容到客户端 //模拟javaweb中的response public class Response { publ

外链专员常用建设网站外链的方法

通常情况下,SEO站长在网站建设初期,就会通过建设网站外链来提高网站权重及网站关键词的排名.如果能够做好网站外链的建设,一方面能够提高网站知名度,增加流量,同时也能够影响网站在搜索引擎的排名.那么外链专员常用的建设网站外链的方法有哪些呢?一.友情链接友情链接是网站外链中一种最好的外链方式,一般显示在首页的底部.好的站长一般手上都是有十几个甚至更多的高权重网站,通过这些站去做新站的网站外链,一段时间内可以提高网站的权重及关键词的排名.当然在做友情链接的过程中也是存在很多注意事项.友情链接注意事项,