网站盗链防护方法详解【一看就会】

很高兴又和大家见面了,今天秦永琦来和大家聊一聊网站盗链防护方法详解,以及网站盗链方法,下载工具,资源的一系列相关干货,既然来了就别走了,好好的静下心把这篇文章阅读完相信你会有一定的收获哦!

网站盗链防护几种常见方法详解

1:判断引用地址

这个方法是最早及最常见的方法。所谓判断引用地址,就是判断浏览器请求时HTTP头的Referer字段的值,这个值在asp.net里面可以用 Request.UrlReferrer属性取得。几个例子来说,在正常情况下当用户在浏览时点击一个链接去到 文件时,浏览器在发出请求talk-design-patterns.pdf资源时还会附带当刻浏览器所处的页面地址,所以当你的网站程序接收到下载 jacky.mp3 资源请求的时候,先判断http的referer字段的值,如果是从自己的域名过来的,则可以认为是合法的连接请求,否则就返回一个错误的提示信息。

这种方法通常用于图片、mp3这种容易被人用html“嵌入”到其他网站的资源,使用这种方法可以防止你的图片直接出现在别人的网页里(或者防止mp3直接被其他网站嵌入到flash播放器里),不过访客使用下载工具还是可以轻松下载,因为现在的下载工具一般会自动用你的域名构造一个引用地址,所以如果想再进一步防范的话,可以使用一个对应表限制每个资源的引用地址,例如将 talk-design-patterns.pdf 的引用地址限制,这样下载工具就不太可能构造一个“正确”的引用地址了。

2:使用登录验证

这个方法常见于论坛、社区。当访客请求网站上的一个资源时,先判断此请求是否通过登录验证(在asp.net里常用session或form验证来记录登录状态),如果尚未登录则返回一个错误提示信息。使用这个方法还可以进一步判断登录的用户的权限是否足够,以实现带“权限”的下载。

不过因为登录状态依赖于会话id,而会话id往往储存于http请求的Cookie字段里,下载工具一般没法获得浏览器的cookie字段,所以这些资源往往无法使用下载工具来下载,给正常合法用户带来诸多不便(因为大部分网民的系统都安装了下载工具,一点击下载链接一般会被下载工具拦截,导致无法使用浏览器本身的下载功能)。简单的解决方法是将这个session id放到URL中。

这种方法的另外一个缺点是访客无法匿名下载,所以这个方法一般只用于论坛和社区网站。

3:使用cookie

其实这种方法原理上跟方法2差不多。就是在显示“下载”链接的页面里产生一个动态值的cookie,然后在处理资源下载请求时先判断cookie里有没有正确的cookie,如果没有则返回错误提示信息。至于这个动态值如何产生,只要能逆向判断动态值是否合法的都可以,例如将当前的时间去除秒数取哈希值(也叫散列值)。如果网页程序是asp.net则更简单,可以往Session里随便存一个字符串或数字,然后在处理下载请求时先检查Session里是否存在这个字符串或数字。使用这个方法的缺点跟方法2一样。

4:使用POST下载

客户端浏览器请求资源都是使用HTTP的GET方法的,其实使用POST方法也可以往客户端返回数据。所以可以将下载链接换成一个表单(Form)和一个按钮(Submit),将待下载的文件的名称或id放到表单的一个隐藏文本框(Input)里,当用户点击提交按钮时,服务程序先判断请求是否为POST方式,如果是则读取目标资源的二进制数据并写入响应对象(在asp.net里是respone.BinaryWrite方法)。
使用这个方法的缺点同样是无法使用下载工具,更没法实现断点续传。 不过比方法2,3好一点的是,下载工具不会拦截你的下载动作,所以正常用户还是比较顺畅地下载到文件。这个方法比较适合小文件的下载。

5:使用图形验证码

使用这个方法可以保证每次下载都是“人”在你的网站上下载,而不是下载工具。因为网上很多介绍使用图形验证码的方法,所以这里就不再重复了。这个方法的缺点是比较容易让正常的用户感到麻烦。

6:使用动态文件名

也叫动态钥匙法,当用户点击一个下载链接时,先在程序端计算一个Key(使用一定规律产生的Key,最好不要使用随机字符串例如GUID,并且这个Key必须有一定时效的),然后在数据库或Cache里记录这个Key以及它所对应的资源ID或文件名,最后让网页重定向一个新的URL地址,这个新URL地址里需要包含这个Key。当浏览器或下载工具发出下载请求时,程序先检测这个Key是否存在,如果存在则返回对应的资源数据。
使用这个方法的好处是下载工具也可以下载,并且在Key失效前可以断点续传,并且可以通过Key来控制下载的线程数。

使用这个方法(包括以上所有支持下载工具的方法)的缺点是:当任意一个用户下载成功之后,你的资源就会被一些下载工具列入“资源候选名单”,以后其他人在其他地方下载同样的文件时,下载工具会不断连接你的服务器,即使你的文件已经删除或者Key已经失效了,这样会造成类DDoS攻击的后果,下面再介绍两个即可以让下载工具下载,又可以防止盗链的方法。

7:擅改资源的内容

一般热门的资源都是电影、mp3、较大的压缩包等,这些文件都是有很多可以插入数据的地方的,例如mp3有一个tag区,rar/zip有一个备注区,电影的内容随便一个地方,只要在下载过程当中,动态地往这些地方注入一些随机的字节(几个字节即可),就可以达到让整个文件的哈希值(即散列值、指纹值)发生改变,让从你网站下载的文件的哈希值跟别人的不一样,就可以防止下载工具主动找上门了。用这个方法配合方法6,可以达到较好的防盗链的效果。缺点是,虽然文件被修改的部分不会被“看”、“听”出来,不过多多少少让知道的人觉得不爽。另外就是如果别人把从你网站下载的文件放到其他网站,那么仍然存在下载工具主动找上门的情况(虽然实际上它下载不了内容)。

8:打包下载

这个方法跟方法7的道理是一样的,只不过这次不是往原始文件里修改,而是在原始的文件基础上再加个“外壳”,让资源的哈希值跟别人的不一样。使用这个方法可以在不擅改资源原始的内容基础上实现方法6同样的效果,并且狠一点的话,甚至可以在打包的时候放入自己的一些广告。缺点是用户每次下载都得加压缩,不过目前大部分人都懂得解压,所以这个缺点有时可以忽略不计。

ok,这篇文章到这里就结束了哈,不管如何,只要能帮到你我就非常开心了,很仔细看完网站盗链防护方法详解【一看就会】这篇文章,感觉让自己收获很多知识,请帮忙点个赞呗!保证让你收获学习满满!

本文发布者:站长老油条,不代表寂寞网立场,转载请注明出处:https://www.jimowang.com/p/5468.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 jimowangmail@126.com 举报,一经查实,本站将立刻删除。

(0)
上一篇 2022年9月6日 09:31
下一篇 2022年9月6日 09:36

相关推荐

  • 如何避免朋友圈文字被折叠(注意事项和提醒)

    朋友圈作为社交平台的一种形式,我们经常通过在朋友圈中发布文字来表达自己的心情和分享生活。然而,由于朋友圈对文字长度有限制,有时候我们发布的文字会被折叠显示,影响阅读效果。要避免朋友圈文字被折叠,我们需要注意以下几个事项和提醒。 一、控制字数 朋友圈对每条文字的限制是140个字,超过这个字数就会被折叠。因此,我们需要控制自己的发文长度,尽量在这个范围内。 合理…

    2023年9月7日
  • 红酒起子的保养和清洗方法(红酒起子保养和清洗技巧分享)

    红酒起子的保养和清洗方法 一、红酒起子的保养方法 红酒起子是一种常见的工具,为了保持其干净和锋利,需要定期进行保养。以下是一些保养的技巧: 及时清洗:在使用后,要及时清洗和晾干,避免生锈或腐蚀。 定期检查:定期检查刀刃的磨损情况,如果发现刀刃变钝或破损,要及时更换或修理。 避免碰撞:在使用时,要注意避免与其他硬物碰撞或挤压,以防止损坏或变形。 二、红酒起子的…

    2023年9月21日
  • 一招破解文库网站禁止复制【新手必看】

    很高兴又和小伙伴们见面了,这次陈籽菡主要整理了一些关于一招破解文库网站禁止复制的问题,以及关于禁止复制文库,网站,截图这些的相关干货,其他的废话在这里我也不说了,我们直接来进入正题吧! 很多网站为了防止搬运都禁止了右键复制,特别是那些主要靠文章营利的小说、文库类型网站,这种方法其实只能骗骗小孩子,其实很好破解限制。 一招破解文库网站禁止复制,我们按Ctrl+…

    2022年9月18日
  • 如何在私有云搭建中保障数据的安全性(安全技巧和建议)

    在当今信息化时代,数据的安全性是企业非常重视的一个问题。特别是对于使用私有云搭建的企业来说,如何保障数据的安全性尤为重要。本文将介绍一些在私有云环境中保障数据安全的技巧和建议。 1. 强化身份验证和访问控制 身份验证和访问控制是保证私有云数据安全的第一步。企业应该使用多因素身份验证来确保只有经过授权的用户才能访问敏感数据。此外,根据员工的角色和职责设置适当的…

    2023年8月28日
  • 游戏推广员行业的现状和发展趋势(行业现状和发展趋势分析)

    游戏推广员行业是随着游戏产业的迅速发展而兴起的,目前已经成为一个独立而又重要的行业。本文将从行业现状和发展趋势两个方面进行分析,并探讨未来游戏推广员行业的发展前景。 一、行业现状分析 当前,游戏产业正处于高速发展阶段,各类游戏层出不穷,市场竞争激烈。在这样的背景下,游戏推广员的角色变得十分重要。游戏推广员主要负责游戏的宣传推广,包括制定推广策略、开展线上线下…

    2023年9月18日
  • 教你域名续费如何优惠?【经验之谈】

    大家好,很高兴又和你见面了,感谢你能经常过来支持王娟,这次我们就来聊聊教你域名续费如何优惠,以及域名续费域名,阿里,块钱等等相关的各种干货,成功的路上不会一帆风顺,每一个成功的背后都有一个惊人的故事。 前言 我们拿阿里云域名续费来说,如果直接续费.com域名,阿里云价格是75元,很贵。 王娟教大家一种方法续费便宜几十块钱,方法很简单。 域名续费截图 利用域名…

    2022年8月5日