python爬虫学习--防盗链
2024-10-11 05:38:46
一 首先要了解什么是盗链
盗链是指服务提供商自己不提供服务的内容,通过技术手段绕过其它有利益的最终用户界面(如广告),直接在自己的网站上向最终用户提供其它服务商的服务内容,骗取最终用户的浏览和点击率。受益者不提供资源或者提供很少的资源,而真正的服务提供商却得不到任何的利益。
最熟悉的,就是盗版网络小说网站,可能盗链起点中文网等的小说内容。
根据盗链的形式,可简单地分成2类,常规盗链和分布式盗链。 常规盗链,只针对某个或某些网站的链接。在自己的页面嵌入别人的链接即可。分布式盗链,互联网上任何一台机器都可成为盗链的对象。服务提供商一般在后台设置专门程序(spider,爬虫)在网上抓取有用的链接,然后存储到自己的数据库中,而对于最终用户的每次访问,都将其转化为对已有数据库的查询。被查询到的URL就是被盗链的对象。由于对文件的访问已经被浏览器屏东掉了,最终用户感觉不到所访问的链接是被盗取的链接。
二 反盗链
原始方式, 修改文件或目录的名称
限制引用页, 仅限自己站内提交,或自己信任的站点提交的。否则视为盗链
文件伪装,用得最多的技术,一般结合服务器动态脚本,。实际上用户请求的文件地址,只是一个经过伪装的脚本文件。这个脚本文件会对用户的请求作认证。一般会检查session,cookie或者http_referer作为判断是否为盗链的依据。而真实的文件实际隐藏在用户不能够访问的地方,只有用户通过验证以后才会返回给用户。
加密认证, 先从客户端获取用户信息,根据信息和用户请求的文件名一起加密成session id作身份验证。成功后,才把用户需要的文件传送给客户。对分布式盗链非常有效。
随机附加码,
最新文章
- springMVC:通配符的匹配很全面, 但无法找到元素 'mvc:annotation-driven' 的声明
- vs2010调试程序出现“Cannot find or open the PDB file”
- laypage分页功能demo
- 想找个计算器当本命?来试试UWP应用《纸书科学计算器》
- JNI-入门之一
- (转)在Eclipse中使用JUnit4进行单元测试
- html js文字左右滚动插件
- 《java入门第一季》之面向对象匿名内部类面试题
- eShopOnContainers 知多少[4]:Catalog microservice
- 按行切割大文件(linux split 命令简版)
- Biorhythms POJ - 1006 中国剩余定理
- SpringMVC(1):Web MVC简介
- C++Primer笔记——文本查询程序(原创,未使用类)
- C# Linq删除父级的同时删除子级
- 笔记react router 4(二)
- 2015-09-22 css2
- 经典算法冒泡排序java版
- 解决 failed to push some refs to 'git@github.com:zle1992/head-first-java' hint: Updates were rejected because the tip of your curr
- 关于删除MySQL Logs的一点记录
- C#Encoding