zoukankan      html  css  js  c++  java
  • Nginx详解十三:Nginx场景实践篇之防盗链

    防盗链:

    目的:防止资源被盗用

    防盗链设置思路

    首要方式:区别哪些请求是非正常的用户请求

    基于http_refer防盗链配置模块(判断refer(上一步的链接)信息是否为允许访问的网站)

    配置语法:valid_refer none | bloked | server_names | string ...;
    默认状态:-
    配置方法:server、location

    确认之前配的timg.jpg还在/opt/app/code/images下面

    编辑一个html,上传到/opt/app/code下面

    <html>
    <head>
    <meta charset="utf-8">
    <title>防盗链</title>
    </head>
    <body style="background-color:red;">
    <img src="http://192.168.1.141/timg.jpg"/>
    </body>
    </html>

    reload一下,再请求

    把access.log打开再刷新一下网页:tail -f /var/log/nginx/access.log

    配置允许过来的情况

    在location里面加上:

    valid_referers none bloched 192.168.1.141;
    if ($invalid_referer){
    return 403;
    }

    检查配置并重启

    nginx -tc /etc/nginx/nginx.conf
    nginx -s reload -c /etc/nginx/nginx.conf

    用curl请求一下,这里由于请求timg.jpg会把图片底层打印出来,没必要,我们只需要请求的头部,所以加一个“-I”

    试一下从百度跳转过去,失败

     把跳转前的地址改为配置里面允许的地址,成功

     这种配置方法,不止可以匹配ip,还可以匹配域名

    如匹配google:valid_referers none bloched 192.168.1.141 ~ /google./;

  • 相关阅读:
    运算符优先级口诀
    [转] 从最大似然到EM算法浅解
    推荐系统实践整体化总结
    Python-函数
    Python-dict/set
    Python-条件、循环、
    Python-list and tuple
    优先级顺序表
    8.1python类型注解
    9.redis-CacheCloud
  • 原文地址:https://www.cnblogs.com/zhongyehai/p/10508058.html
Copyright © 2011-2022 走看看