OIN:如何从技术上“绞杀”盗链者?_GENT

作者|阿文

责编|郭芮

很多站长都会遇到一个很头疼的问题,那就是自己网站的资源经常被盗用,有文字、图片、视频、和二进制或压缩文件,这些资源被盗用后除了导致网站流量丢失之外、还会带来一些经济上的损失。

除了相关法律,例如《中华人民共和国著作权法》可以使版权或著作权所有者通过法律途径来约束和限制一些未经授权非法使用网站多媒体资源,我们还可以通过一些技术手段来约束访问者,使其无法随意盗取相关资源,下面我们就介绍下网站常用的防盗措施和其优势和劣势。

User-agent防盗

Nansen:部分Smart Money已提前布局mfers与其仿盘xmfers:2月21日消息,链上数据工具 Nansen 发推:“早安 #mfers”,并称一些名称中带有「mfer」的 NFT 系列虽然交易量很少,但目前很流行,交易量前三的仿盘为 xmfers(209eth)、ape mfer(39eth)、0xapemfer(17eth)。有部分 Smart Money 已布局 mfers 与 xmfers,围绕 mfers 的 Smart Money 显示 62 个,xmfers 有 33 个。xmfers 项目 2 月 19 至 2 月 21 日,Smart Money 与普通买家交易价格都持续升高。

据悉,xmfers 是 mfers 目前最大的仿盘,共 6969 个,其中 10% 铸造资金和 30% 的二次特许权使用费将捐赠给 mfer。该系列 NFT 24 小时交易量排 OpenSea 站内第 99 名。[2022/2/21 10:05:35]

User-Agent首部包含了一个特征字符串,用来让网络协议的对端来识别发起请求的用户代理软件的应用类型、操作系统、软件开发商以及版本号。不同的浏览器客户端都会携带自己的user-agent,例如Chrome浏览器的user-agent是:

Dora Factory已提前完成私募投资代币解锁:据官方消息,2022年1月10日,Dora Factory团队宣布已提前完成私募投资者最后一批代币解锁。Dora Factory是多链的DAO基础设施,为开发者初创团队和DAO提供多链Grant、隐私投票、Bounty等基础设施服务。Dora Factory投资机构包括Binance Labs, The LAO, Dora Ventures等,目前Dora Factory已经资助17个核心生态项目,有超过70个DAO和多链生态正在使用Dora Factory的基础设施。[2022/1/10 8:38:02]

user-agent:Mozilla/5

高盛: 美联储提前收紧货币政策可能性遏制美元走弱:11月13日消息,高盛分析师在一份报告中写道,美元面临持续的结构上的脆弱性,但美联储可能提前收紧货币政策的前景意味着美元可能会保持区间波动。包括俄罗斯卢布、墨西哥比索在内的部分新兴市场货币具有最佳的回报潜力。经济初步的复苏,估值较低和利差优势将支持部分新兴市场货币。投资者应关注央行政策差异,例如欧元区经济强劲增长以及欧洲央行的耐心有利于做空欧元,买入瑞典克朗,捷克克朗和波兰兹罗提。 (金十)[2021/11/13 6:49:44]

但是这种办法并不能完全禁止掉一些请求,因为user-agent是客户定义的,以curl为例,如下所示。通过-H指定user-agent的请求头信息,如果对方恰好指定你的黑名单规则,则可以很轻松的绕过限制。

curl-H"User-Agent:xxxx"

referer防盗链

Referer首部包含了当前请求页面的来源页面的地址,即表示当前页面是通过此来源页面里的链接进入的。如下所示的requestheaders中,其referer为https://www

但是这种办法也并不能完全禁止掉一些域名请求,因为referer客户也是可以自定义的。以curl为例,如下所示,通过-H指定referer:XXXXX的请求头信息,就可以很轻松的绕过限制。

curl-H"referer:http://www.baidu.com"

IP防盗链

顾名思义,即对指定IP或IP段进行限制访问。例如一些爬虫经常频繁爬取网站资源,我们可以对其IP进行限制。

以nginx为例,nginx的ngxhttpaccess_module模块可以用来设置允许/禁止哪些IP或IP段访问:

allow1.1.1.1/24#允许IP段访问

denyall#禁止所有IP访问

token防盗链

上述的三种原生HTTP首部字段都能防止用户随意盗取资源,但是其劣势相当明显,比如都极容易被伪造。

以nginx为例安装secure_link模块,默认是没有安装的,要使用这个模块必须在编译时指定下列编译参数:

--with-http_secure_link_module

securelink防盗链原理:

用户访问资源;

服务器根据secret密钥、过期时间、文件uri生成加密串;

将加密串与过期时间作为参数跟到文件下载地址的后面;

nginx下载服务器接收到了过期时间,也使用过期时间、配置里密钥、文件uri生成加密串;

将用户传进来的加密串与自己生成的加密串进行对比,一致允许下载,不一致403。

具体的配置和使用可以参考https://nginx.org/en/docs/http/ngxhttpsecurelinkmodule.html。

当然除了这种方式,你也可以使用nginxlua来自行实现一些自定义的防盗链措施。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

大币网

[0:15ms0-3:189ms