当前位置: 首页 > news >正文

nginx refer与origin的异常数据拦截

valid_referers none *.abc.cn 是不行的

valid_referers none ~*\.abc\.cn 是不行的

~^(.*\.)?abc\.cn   是可以的

  • 一个正则表达式如果以 “~” 开头,表示这个正则表达式对大小写敏感。以 “~*”开头,表示这个正则表达式对大小写不敏感。

map $http_origin $allow_cors {#拦截origin #20250327 0033
    default 1;#默认空的时候,是可以通过的
    "~^https://testtest.abc.cn:8001" 1;      #以这个开头也是可以通过的
    "~^https://10.124.111.111:8111" 1;              #测试环境门户跳转时的origin
    "~^(.*\.)?abc\.cn" 1;                   #只要包含这个的就是1
    "~*" 0;#其他情况,其他的origin是直接报403的
    #还有一种情况就是浏览器拦截的时候,需要通过addHeader增加允许跨区域的请求头,多用于自己系统的页面嵌入到其他系统的页面中
}

 location /testserv/ { # 拦截所有/testserv下的接口请求,将请求地址的ip和端口号换为 proxy_pass 中的值。接口地址其他地方不变
                         # 用于解决跨域问题
                        #20250327 0033    
                         # 通过refere设置访问接口的白名单,防盗链。只允许以下ip的页面访问这个资源
                        valid_referers none testtest.abc.cn 10.124.111.111 ~^(.*\.)?abc\.cn;#测试环境pc端地址,none解决假登录没有rerfer头的情况,.111是门户
                        if ($invalid_referer) {
                            return 403;
                        }
                        if ($allow_cors = 0){#origin的非法参数拦截问题
                            return 403;
                        }

origin与refer的测试效果,针对不同的语句不大一样

目的是拦截origin与referer,仅放行:

1、以https://testtest.abc.cn:8001、https://10.124.111.111:8111 为开头的

2、包含abc.cn字符串的

3、origin或者referer为空

实验证明:

map的写法与valid_referers的写法,对~^(.*\.)?abc\.cn 有不同的处理逻辑

最大的不同为:

1、origin为abc.cn:1231,可以放行。但是referer为abc.cn:1231 不可以放行

2、只有当referer的最前面有https://或者http://时,才可以,例如https://abc.cn:123 referer才放行

相关文章:

  • Ollama - 官方文档翻译
  • Redis的List类型
  • 自动化发布工具CI/CD实践Jenkins各配置功能介绍和管理!
  • 3.28 代码随想录第二十九天打卡
  • uvm phase
  • 海康威视摄像头混合目标检测事件数据说明文档
  • 3.1.3 MYSQL连接池
  • 第十一章:Python PIL库-图像处理
  • 智能仪表板DevExpress Dashboard v24.2新版亮点:支持.NET 9
  • 【Java】Springboot整合redis
  • 【go微服务】如何快速掌握grpc开发
  • 王者荣耀服务器突然崩了
  • 基于类型属性的重载
  • 标准库中有uint32_t类型吗?
  • 深入剖析Redis分布式锁:Redlock算法源码解读与实战
  • C++修炼:string类的使用
  • 前端Vue
  • 【HCIA-网工探长】12:生成树笔记
  • Python使用ccplot绘制CALIPSO L1B后向散射
  • C# 异步方法设计指南:何时使用 await 还是直接返回 Task?
  • 网站欺骗消费者怎么做/网络营销师证书
  • 可以做动画的网站都有哪些软件/手游推广渠道平台
  • 石家庄网站建设案例/重庆seo哪个强
  • 关于网站开发的论文/seo站外优化最主要的是什么
  • 网站建设哪家公司靠谱/上海网上推广
  • 品牌网站建设公司/seo外链优化