• 域名认证
  • 作品:144
  • 案例:19|
  • 教程:7340|
  • 资讯:500|
  • 资源:364|
  • 总访问量:1097241|

导航菜单
酷讯网络工作室_源码交易平台,源码商城,网站定制开发,免费模版下载,网络技术服务,微信应用开发,小程序开发,贵州网络技术欢迎你.
网站盗链防护方式详解

网站盗链防护方式详解

作者/ admin2016

网站盗链防护方式详解

作者/ admin2016

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

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同样的效果,而且狠一点的话,甚至可以在打包的时刻放入自己的一些广告。瑕玷是用户每次下载都得加压缩,不外现在大部门人都明白解压,以是这个瑕玷有时可以忽略不计。

关于酷讯站长

兴趣是最好的老师,既然选择了这个行业,不管有多乏味枯燥,我都要一如既往的做好我的工作 ...[更多]

E-mail:240870160@qq.com
QQ:240870160
微信号:
bndy110
用手机阅读《网站盗链防护方式详解》

扫描用手机阅读此文
支持Android/iPhone

退出阅读 | 首页