nginx--防盗链

盗链

通过在自己网站里面'引用别人的资源链接','盗用'人家的劳动和资源

referer

referer是记录打开一个页面之前记录是从哪个页面跳转过来的标记信息

正常的referer信息

none:请求报文首部没有referer首部,比如用户直接在浏览器输入域名访问web网站,就没有referer信息。

blocked:请求报文有referer⾸首部,但无有效值,比如为空。

server_names:referer首部中包含本主机名及即nginx 监听的server_name。

arbitrary_string:自定义指定字符串,但可使用*作通配符。

regular expression:被指定的正则表达式模式匹配到的字符串,要使用~开头,例如:

~.*\.magedu\.com。

实现web盗链

配置nginx.conf文件

复制代码
    log_format access_json '{"@timestamp":"$time_iso8601",'
        '"host":"$server_addr",'
        '"clientip":"$remote_addr",'
        '"size":$body_bytes_sent,'
        '"responsetime":$request_time,'
        '"upstreamtime":"$upstream_response_time",'
        '"upstreamhost":"$upstream_addr",'
        '"http_host":"$host",'
        '"uri":"$uri",'
        '"domain":"$host",'
        '"xff":"$http_x_forwarded_for",'
        '"referer":"$http_referer",'
        '"tcp_xff":"$proxy_protocol_addr",'
        '"http_user_agent":"$http_user_agent",'
        '"status":"$status"}';
    access_log  logs/access.log  access_json;

    server {
        listen       80;
        server_name  www.xfxq.com;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   /data/nginx/html;
            index  index.html index.htm;
        }

配置index.html文件

复制代码
<html>
<body>
<meta charset="utf-8">
<a href="http://www.fxq.com">盗链</a>
<img src="http://www.fxq.com/1.jpg">
</body>
</html>
</html>

查看图片

查看日志

实现防盗链

http:// https://nginx.org/en/docs/http/ngx_http_referer_module.html#valid_referers

格式

复制代码
valid_referers none blocked server_names
               *.example.com example.* www.example.org/galleries/ 
               ~\.google\.; 定义有效的referer

if ($invalid_referer) {  如是使用其他的无效的referer访问:
    return 403;  返回状态码403
}  

定义防盗链

复制代码
server {
  listen 80;
  listen       443 ssl;
  ssl_certificate  /apps/nginx/certs/www.fxq.com.crt;
  ssl_certificate_key /apps/nginx/certs/www.fxq.com.key;
  ssl_session_cache shared:sslcache:20m;
  ssl_session_timeout 10m;
  server_name www.fxq.com;
  location / {
     root /data/nginx/html/pc;
     index index.html;
    }
  location = /favicon.ico {
     root /data/nginx/html/pc;
  }
  location = /1.jpg{
     root /data/nginx/static; 
     valid_referers none blocked server_names
                  ~\.google\.; 
     if ($invalid_referer) {  
             return 403;
       }  
    }
  }    
[ro

访问结果

相关推荐
皮皮学姐分享-ppx4 小时前
政府绿色采购数据库(2015-2024.3)
大数据·网络·数据库·人工智能·制造
HackTwoHub4 小时前
最新Nessus2026.6.8版本主机漏洞扫描/探测工具Windows/Linux
linux·运维·服务器·安全·web安全·网络安全·安全架构
W_chuanqi4 小时前
联想M7615DNA网络打印方法
网络·联想·打印机网络连接
QWEDDRFTG4 小时前
C13/C19怎么选?服务器电源线电流与接口选型技巧
服务器
QWEDDRFTG7 小时前
服务器电源线怎么选?接口、电流、线径、认证一次讲清
服务器
HavenlonLabs8 小时前
硬件 + SaaS 产品的工程化路径:从系统架构、PCB 设计到工程样机
网络·安全·架构·系统架构·安全架构
小黑蛋学java8 小时前
Nginx 接口耗时 Prometheus + Grafana 监控实施方案
运维·nginx·负载均衡·grafana·prometheus
IVEN_9 小时前
记一次诡异的前端白屏故障:Nginx Proxy Cache 内存缓存"幽灵"事件
前端·nginx
yychen_java11 小时前
当算法成为武器:AI泛滥时代的多维危机透视与治理路径
网络·人工智能·ai
漫途科技11 小时前
精准盯防危房隐患,智守人居安全|MTB46-4-2A 4G数据采集终端专项应用方案
网络·安全