zoukankan      html  css  js  c++  java
  • nginx防盗链

    1.资源防盗链
    盗链指的是在自己的网站界面展示不在自己服务器上的内容,通过技术手段获得他人服务器的资源地址,绕过别人资源展示页面,在自己页面向用户提供此内容,从而减轻自己服务器的负担,因为真实的空间和流量来自于别人的服务器
    2.nginx http_refer防盗链配置语法
    Syntax: valid_referers none | blocked | server_names | string ...;
    Default: -
    Context: server,location //可以配置在server标签和location标签下
    3.在自己的机器准备html文件

    <html>
    	<head>
    		<meta charset="utf-8">
    		<title>test	</title>
    	</head>
    	<body style="background-color:red;">
    	<img src="http://192.168.111.152/5022.png">					//在192.168.111.151机器上盗链192.168.111.152上的图片
    	</body>
    </html>
    

    没有启动防盗链之前访问这个html文件

    4.在真正提供图片的机器上启用防盗链192.168.111.152上

    location ~ .*.(png|jpg|bmp)$ {
        root /webroot/www;
        index index.html index.htm;
        valid_referers none blocked 192.168.111.151;				//支持ip,域名,正则表达式,允许192.168.111.151,不是这个ip地址返回403
           if ($invalid_referer) {
                return 403;
                }
        }
    


    启动防盗链之后:403状态码

    5.nginx日志中变量$http_referer能够看到访问资源的链接是谁

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                     '$status $body_bytes_sent "$http_referer" '
                     '"$http_user_agent" "$http_x_forwarded_for"';
    
    

  • 相关阅读:
    GetIPAddress——获得本地IP地址信息
    NetTime——c++实现计算机时间与网络时间的更新
    redis 面试
    jstat命令
    bug 调试
    redis & memcache
    Java进阶知识点:不要只会写synchronized
    Java进阶知识点:并发容器背后的设计理念
    Java进阶知识点:服务端高并发的基石
    Java进阶知识点:不可变对象与并发
  • 原文地址:https://www.cnblogs.com/lovelinux199075/p/9061148.html
Copyright © 2011-2022 走看看