美文网首页基础知识nginx
8,nginx防盗链(13)

8,nginx防盗链(13)

作者: 滔滔逐浪 | 来源:发表于2019-01-29 19:55 被阅读84次

    获取全套nginx教程,请访问瓦力博客

    防盗链是一种机制,也可以说是一种技术,目的是防止自己网站的东西(如图片,文件etc。)被其他用户采用技术的手段来访问或者下载。简单的说就是防止自己站点资源被他人盗用

    1,盗链

    站点在页面呈现的时候拉取非本站的资源,称为盗链。准确的说,只有某些时候,这种跨站,才被称为盗链。加入b站点作为一个商业网站,有很多自主版权的图片,自身展示用于商业目的。而A站点,希望自己的网站上面也展示这些图片,直接使用:

    <img src="http://b.com/photo.png">
    

    这样大批的客户端访问A站点的时候,实际消耗了B站点的流量,而A站点却从中达成商业目的。从而不劳而获。这样的站点着实令B站点不快。

    2,nginx配置防盗链

    当浏览器向web服务器发送请求的时候,一般会在头信息中带上Referer字段,告诉服务器我是从那个页面链接接过来的,服务器基此可以获得一些信息用于处理,基于头信息referer字段,Nginx识别指定的Referer,在客户端请求时,通过匹配referer头域与配置,对于指定放行,对于其他的视为盗链。

    1,valid_referers
    valid_referers配置项是属于ngx_http_referer_module模块传送门{:target="_blank"}
    ···
    Syntax: valid_referers none |blocked|server_names |string...;
    Defalut: -
    Context: server,location
    ···
    参数
    说明

    none
    请求标头中缺少"Referer"字段,也就是空Referer

    blocked
    "Referer"字段出现在请求标头中,但其值已被防火墙或代理服务器删除;这些值是不以"http://"或"https://"开头的字符串

    server_names
    允许某个域名通过如walidrea.com

    arbitrary string
    定义服务器名称和可选的URI前缀。服务器名称的开头或结尾可以包含“*”。在检查期间,“Referer”字段中的服务器端口被忽略

    regular expression
    第一个符号应为“~”。应该注意的是,表达式将与“http://”或“https://”之后的文本匹配

    实例配置:

    location ~.*\.(jpg|gif|png)${
      root /opt/app/code/images;
    gzip on;
    gzip_http_version 1.1;
    gzip_comp_level 2;
        gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
    
    valid_referers none blocked 116.62.113.218  walidream.com
    if($invalid_referer){
    return 403;
    }
    
    }
    
    
    
    

    允许访问服务器图片

    ![9150023-160a8d14e6800c17.png](https://img.haomeiwen.com/i12197462/dbce14c68a5b7581.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

    不允许访问服务器图片

    1.png

    因为HTTPReferer头信息是可以通过程序来伪装生成的,所以通过Referer信息防盗链并非100%可靠,但是,它能够限制大部分的盗链


    bec62f35gy1fhfzv6s495j20m80vyn1f.jpg

    相关文章

      网友评论

        本文标题:8,nginx防盗链(13)

        本文链接:https://www.haomeiwen.com/subject/iqcfsqtx.html