English
 电子信箱
 加入收藏

  威盾防火墙 >> 新闻中心 >> 威盾新闻 >> 防盗链[referer]

 

防盗链[referer]

威盾防火墙 2014-11-12

 

总结一下今天学习防盗链Filter的一些知识点:

    防盗链要实现的是这样一种效果:比如说其他的网站引用本网站的图片资源,将会显示一个错误图片,只有是本网站内的网页引用时候,图片才可以正常显示。这种应该是比较常见的,例如经常逛论坛的人会看到别人贴的图显示出来是一个错误图片,如百度图片不可以外链等,用到的就是这个Filter。

    首先说下Filter的工作区域是在客户端请求request抵达Servlet之前和服务器响应response在从Servlet抵达客户端浏览器之前。即FilterChain起到了一个过滤网的作用。所以在显示图片之前,先来验证图片的来源,再决定要不要正常显示该图片。


    那么如何判定图片的来源呢?这里涉及到了一个知识点:referer
    什么是referer呢?HTTP协议可能学网络的人更熟悉一点,HTTP headers是HTTP请求和相应的核心模块,它承载了关于客户端浏览器、请求页面、服务器等相关信息。Referer是HTTP头中的一个属性,告诉服务器我是从哪个页面链接过来的,比如说如果我博客上面有友情链接到朋友的博客,那么就可以从referer中统计出来一段时间内有多少点击量是从我的博客链接到朋友的博客。


Java中获取referer的方法是:request.getHeader("referer")
判断盗链:
String referer = request.getHeader("referer"); //getServerName() 返回网站的域名 if(referer==null || !referer.contains(request.getServerName())){ //转到一个错误的图片 request.getRequestDispatcher("/error.gif").forward(request.response); }else{ chain.doFilter(request,response); }

request.getHeader("referer")可用的情况:
1.<a href="http://archive.cnblogs.com/a/2680914/" target="_blank" rel="nofollow"> 2.表单提交

不可用的情况:
1.从收藏夹链接
2.自定义地址
3.浏览器直接输入
...


相关内容: 最新内容:
Lighttpd 图片和视频等文件的防盗链处理[2014-11-11]
使用ISAPI Rewrite实现IIS图片防盗链[2014-11-11]
破解图片防盗链的代码(asp/php)测试通过[2014-11-11]
lighttpd服务下防盗链设置[2014-11-11]
纠正网上 .htaccess 图片防盗链方法的错误[2014-11-11]
图文解析IIS下Rewrite组件防盗链[2014-11-11]
FTP服务器如何实现安全性[2014-11-12]
服务器安全设置之防溢出提权攻击解决办法[2014-11-12]
网络服务器安全维护技巧[2014-11-12]
服务器维护安全策略方案[2014-11-12]
Windows Internet服务器安全配置[2014-11-12]
DDoS攻防战(二):CC攻击工具实现与防御理论[2014-11-12]