<small id='qT52QaM6'></small> <noframes id='qmGca3f'>

  • <tfoot id='pfzqYd8eSl'></tfoot>

      <legend id='c7FN'><style id='iH4TdlJ'><dir id='5K9LfV7PB'><q id='lNST28wivK'></q></dir></style></legend>
      <i id='uQkDW'><tr id='xgYrlN'><dt id='bkpmfV6l4'><q id='9Yij6KC'><span id='B56LUaXx'><b id='GR7VB6'><form id='7mDy'><ins id='aipg4'></ins><ul id='NCdF'></ul><sub id='VmZgtBE'></sub></form><legend id='Uvfh3'></legend><bdo id='R6ueDksyvx'><pre id='SlKCHa'><center id='xCe4AU'></center></pre></bdo></b><th id='tWcUOXue'></th></span></q></dt></tr></i><div id='tykuIr'><tfoot id='qRQhoVF'></tfoot><dl id='b1T2t45rvW'><fieldset id='GgAB6m'></fieldset></dl></div>

          <bdo id='WxO8CG'></bdo><ul id='SBk9ze'></ul>

          1. <li id='euY7Xrn'></li>
            登陆

            怎么从技术上“绞杀”盗链者?

            admin 2019-06-20 257人围观 ,发现0个评论

            作者 | 阿文

            责编 | 郭芮

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

            除了相关法令,例如《中华人民共和国著作权法》能够使版权或著作权一切者经过法令途径来束缚和束缚一些未经授权不合法运用网站多媒体资源,咱们还能够经过一些技术手段来束缚拜访者,使其无法随意盗取相关资源,下面咱们就介绍下网站常用的防盗方法和其优势和下风。

            User-agent 防盗

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

            user-ag怎么从技术上“绞杀”盗链者?ent: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|^$") { return403; }

            可是这种方法并不能彻底制止掉一些恳求,由于 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: /zh-CN/docs/Web/HTTP/Headers/Referer :scheme: https accept:text/html,application/xhtml+xml,application/xml;q= 0. 9,image/webp,image/apng,* /*;q=0.8,application/signed-exchange;v=b3 accep怎么从技术上“绞杀”盗链者?t- encoding:gzip, deflate, br accept- l新浪邮箱登录anguage:zh-CN,zh;q= 0. 9,en;q= 0. 8cookie:dwf_sg_task_completion=False dnt:1refer怎么从技术上“绞杀”盗链者?er:https:/ /www.google.com/upgrade-insecure- requests:1user- agent:Mozilla/ 5.0(Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/ 537.36(KHTML, like Gecko) Chrome/ 75.0. 3770.90Safari/ 537.36

            以 nginx 为例,咱们能够对指定域名的 referer 进行束缚:

            if( $http_referer~* www.xxx.com ) { return40怎么从技术上“绞杀”盗链者?3; }

            可是这种方法也并不能彻底制止掉一些域名恳求,由于 re怎么从技术上“绞杀”盗链者?ferer 客户也是能够自界说的。以 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段拜访

            deny all # 制止一切 IP 拜访

            token 防盗链

            上述的三种原生 HTTP 首部字段都能避免用户随意盗取资源,可是其下风适当显着,比方都极简单被假造。

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

            --with-http_secure_link_module

            secure link 防盗链原理:

            详细的装备和运用能够参阅 https://nginx.org/en/docs/http/ngxhttpsecurelinkmodule.html。

            当然除了这种方法,你也能够运用 nginx lua 来自行完成一些自界说的防盗链方法。

            点击阅览原文,输入关键词,即可查找您想要的 CSDN 文章。

            声明:该文观念仅代表作者自己,搜狐号系信息发布渠道,搜狐仅供给信息存储空间服务。
            请关注微信公众号
            微信二维码
            不容错过
            Powered By Z-BlogPHP