一 首先要了解什么是盗链

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

最熟悉的,就是盗版网络小说网站,可能盗链起点中文网等的小说内容。

根据盗链的形式,可简单地分成2类,常规盗链和分布式盗链。 常规盗链,只针对某个或某些网站的链接。在自己的页面嵌入别人的链接即可。分布式盗链,互联网上任何一台机器都可成为盗链的对象。服务提供商一般在后台设置专门程序(spider,爬虫)在网上抓取有用的链接,然后存储到自己的数据库中,而对于最终用户的每次访问,都将其转化为对已有数据库的查询。被查询到的URL就是被盗链的对象。由于对文件的访问已经被浏览器屏东掉了,最终用户感觉不到所访问的链接是被盗取的链接。

二 反盗链

原始方式, 修改文件或目录的名称

限制引用页, 仅限自己站内提交,或自己信任的站点提交的。否则视为盗链

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

加密认证, 先从客户端获取用户信息,根据信息和用户请求的文件名一起加密成session id作身份验证。成功后,才把用户需要的文件传送给客户。对分布式盗链非常有效。

随机附加码,

最新文章

  1. springMVC:通配符的匹配很全面, 但无法找到元素 'mvc:annotation-driven' 的声明
  2. vs2010调试程序出现“Cannot find or open the PDB file”
  3. laypage分页功能demo
  4. 想找个计算器当本命?来试试UWP应用《纸书科学计算器》
  5. JNI-入门之一
  6. (转)在Eclipse中使用JUnit4进行单元测试
  7. html js文字左右滚动插件
  8. 《java入门第一季》之面向对象匿名内部类面试题
  9. eShopOnContainers 知多少[4]:Catalog microservice
  10. 按行切割大文件(linux split 命令简版)
  11. Biorhythms POJ - 1006 中国剩余定理
  12. SpringMVC(1):Web MVC简介
  13. C++Primer笔记——文本查询程序(原创,未使用类)
  14. C# Linq删除父级的同时删除子级
  15. 笔记react router 4(二)
  16. 2015-09-22 css2
  17. 经典算法冒泡排序java版
  18. 解决 failed to push some refs to 'git@github.com:zle1992/head-first-java' hint: Updates were rejected because the tip of your curr
  19. 关于删除MySQL Logs的一点记录
  20. C#Encoding

热门文章

  1. C# 中获取时区列表
  2. 如何在无法直接用VS启动代码时如何调试代码
  3. Android数据库--Sqlcipher的使用(一)
  4. c3p0私有属性checkoutTimeout设置成1000引发的调试错误:
  5. C++把引用作为返回值
  6. c#代码发送post请求,上传文件(并带其他参数)
  7. Javascript Date 判断输入日期是否正确
  8. OOP的字段
  9. 全局变量引起的BUG
  10. LWP::UserAgent介绍2