吉林省微圈互联网科技有限公司
  • 13331687022
网站建设对比 - 如何从技术上“绞杀”盗链者?-微圈儿
作者:微圈儿 / 2019-11-08 09:01 / 浏览次数:

程序员 代码 黑客

【网站建设方法】声明:本文来自于微信大众号 CSDN(ID:CSDNnews),作者:阿文,受权微圈儿转载发布。

【专业的建设网站服务】很多站长都会遇到一个很头疼的成绩,那就是本人网站的资源常常被盗用,有文字、图片、视频、和二进制或紧缩文件,这些资源被盗用后除了招致网站流量丧失之外、还会带来一些经济上的损失。

【长春网页设计】除了相关法律,例如《中华人民共和国著作权法》可以使版权或著作权一切者经过法律途径来约束和限制一些未经受权合法运用网站多媒体资源,我们还可以经过一些技术手腕来约束拜访者,使其无法随意盗取相关资源,上面我们就引见下网站常用的防盗措施和其优势和优势。

image.png

【如何建设自己的网站】User-agent 防盗

【网站建设价格明细表】User-Agent 首部包括了一个特征字符串,用来让网络协议的对端来辨认发起恳求的用户代理软件的使用类型、操作零碎、软件开发商以及版本号。不同的阅读器客户端都会携带本人的 user-agent,例如 Chrome 阅读器的 user-agent 是:

user-agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.90 Safari/537.36

在比方 curl 命令去拜访一个 url,其带的 user-agent 如下:

User-Agent: curl/7.54.0

亦或许运用一些编程言语的库,例如 Python 的 request 库,其 user-agent 为:

r.request.headers {'User-Agent': 'python-requests/2.18.4',……} 

既然如此,我们可以限制一些 user-agent 的恳求,以 nginx 为例,我们判别 httpuseragent 来制止其拜访资源。例如上面的,假如 user-agent 等于 Java|python-urllib 等就前往 403,从而来回绝这些客户端拜访资源。 

if ($http_user_agent ~ "Mozilla/4.0$|Mozilla/5.0$|Java|ApacheBench|Python-urllib|^$") { return 403; }

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

curl -H "User-Agent:xxxx"

referer 防盗链

Referer 首部包括了以后恳求页面的来源页面的地址,即表示以后页面是经过此来源页面里的链接进入的。如下所示的 request headers 中,其 referer 为https://www.google.com/ 则阐明其来源是谷歌。

:authority:developer.mozilla.org:method:GET:path:/zhCN/docs/Web/HTTP/Headers/Referer:scheme:httpsaccept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3 accept-encoding: gzip, deflate, br accept-language: zh-CN,zh;q=0.9,en;q=0.8 cookie: dwf_sg_task_completion=False dnt: 1 referer: https://www.google.com/ upgrade-insecure-requests: 1 user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.90 Safari/537.36

以 nginx 为例,我们可以对指定域名的 referer 停止限制:

if ($http_referer ~* www. xxx.com ) { return 403; }

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

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

image.png

IP 防盗链

望文生义,即对指定 IP 或 IP 段停止限制拜访。例如一些爬虫常常频繁爬取网站资源,我们可以对其 IP 停止限制。

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

allow 1.1.1.1/24 # 允许IP段拜访

deny all # 制止一切 IP 拜访

image.png

token 防盗链

上述的三种原生 HTTP 首部字段都能避免用户随意盗取资源,但是其优势相当分明,比方都极容易被伪造。

以 nginx 为例装置secure_link模块,默许是没有装置的,要运用这个模块必需在编译时指定下列编译参数:

--with-http_secure_link_module

secure link 防盗链原理:

  • 用户拜访资源;

  • 效劳器依据secret密钥、过时工夫、文件uri生成加密串;

  • 将加密串与过时工夫作为参数跟到文件下载地址的前面;

  • nginx下载效劳器接纳到了过时工夫,也运用过时工夫、配置里密钥、文件uri生成加密串;

  • 将用户传出去的加密串与本人生成的加密串停止比照,分歧允许下载,不分歧403。

详细的配置和运用可以参考:

https://nginx.org/en/docs/http/ngxhttpsecurelinkmodule.html。

当然除了这种方式,你也可以运用 nginx lua 来自行完成一些自定义的防盗链措施。

【End】

【微圈儿业务】网站建设、网站设计、服务器空间租售、网站维护、网站托管、网站优化、百度推广、自媒体营销、微信公众号
如有意向---联系我们
热门栏目
热门资讯
热门标签

网站建设 网站托管 成功案例 新闻动态 关于我们 联系我们 服务器空间 加盟合作 网站优化

备案号:京ICP备15012422号-2 

公司地址:吉林省长春市朝阳区西安大路建和街 咨询QQ:19812828 手机:13331687022 电话:13331687022