NGINX的奇淫技巧 —— 6. IF实现数学比较功能 (1)

NGINX的奇淫技巧 —— 6. IF实现数学比较功能 (1)

ARGUS 1月13日 发布

  • 推荐 0 推荐
  • 收藏 3 收藏,839 浏览

nginx的if支持=!= 逻辑比较, 但不支持if中 <<>=<= 比较.
本示例使用了set-misc-nginx-module

location = /test/ {
    default_type html;
    set_random $a 0 9;      #$a 随机 从0-9取
    if ( $a <= 4 ){         #$a 如果 < 4 这是错误的写法
        echo ‘a: $a is lte 4‘;
    }
    if ( $a >= 5 ){         #$a 如果 > 5 这是错误的写法
        echo ‘a: $a is gte 5‘;
    }
}

上面的配置, 在启动nginx时会报错误的.

即然不支持,那有没有办法小小地弥补下呢?

location = /test/ {
    default_type html;
    set_random $a 0 9;     #$a 随机 从0-9取
    if ( $a ~ [0-4] ){     #$a 如果 正则匹配 0-4
        echo ‘a: $a is lte 4‘;
    }
    if ( $a ~ [5-9] ){     #$a 如果 正则匹配 5-9
        echo ‘a: $a is gte 5‘;
    }
}

测试10次:

a: 8 is gte 5
a: 9 is gte 5
a: 2 is lte 4
a: 1 is lte 4
a: 8 is gte 5
a: 0 is lte 4
a: 9 is gte 5
a: 1 is lte 4
a: 4 is lte 4
a: 5 is gte 5
...

骚年, 速度加入A.R.G.U.S.网络安全小组, 跟老夫们一起学nginx吧~

时间: 2024-10-09 23:26:39

NGINX的奇淫技巧 —— 6. IF实现数学比较功能 (1)的相关文章

C之奇淫技巧——宏的妙用

一.宏列表 当遇到这样的问题的时候: 有一个标记变量,其中的每个位代表相应的含义.我们需要提供一组函数来访问设置这些位,但是对于每个标记位的操作函数都是相似的.若有32个位,难道要搞32套相似的操作函数么? 你也许会说,用一套操作函数,根据传入的参数来判断对哪个位操作.这样固然可行,但是 ①不够直观.例如访问Movable标记位,对于用户来说,is Movable()是很自然的方式,而我们只能提供这样的接口isFlag(Movable) ②扩展性差.若以后增加删改标记位,则需要更改isFlag等

优化DP的奇淫技巧

DP是搞OI不可不学的算法.一些丧心病狂的出题人不满足于裸的DP,一定要加上优化才能A掉. 故下面记录一些优化DP的奇淫技巧. OJ 1326 裸的状态方程很好推. f[i]=max(f[j]+sum[i]-sum[j]-100*I) (1<=j<i&&f[j]>=100*i) 然后把无关于j的提出来. f[i]=max(f[j]-sum[j])+sum[i]-100*i; 好的,现在只需要把在O(1)的时间内求出max(f[j]-sum[j])就是坠吼得. 考虑两个决策

12个实用的 Javascript 奇淫技巧

这里分享12个实用的 Javascript 奇淫技巧.JavaScript自1995年诞生以来已过去了16个年头,如今全世界无数的网页在依靠她完成各种关键任务,JavaScript曾在Tiobe发布的编程语言排行榜中排到了第8名,紧随C#,JavaScript从过去装饰性的一种脚本语言转变为主流的编程语言,人们用它来开发更大更复杂的程序. 1. 取整同时转成数值型: '10.567890'|0 结果: 10 '10.567890'^0 结果: 10 -2.23456789|0 结果: -2 ~~

C++奇淫技巧,程序员为啥天天学继承与派生,真的有这么难吗

继承与派生 1.1继承与派生的概念 在C++中,可重用性是通过继承这一机制来实现的.所谓继承,就是在一个已存在的类的基础上建立一个新的类.已存在的类称为基类,新建立的类成为派生类.(与对象的复制做区别)一个新类从已有的类那里获得其已有特性,这种现象称为类的继承. C++奇淫技巧,程序员为啥天天学继承与派生,真的有这么难吗派生类继承了基类的所有数据成员和成员函数,并可以对成员作必要的增加或调整.创一个小群,供大家学习交流聊天如果有对学C++方面有什么疑惑问题的,或者有什么想说的想聊的大家可以一起交

ASP.NET Core 奇淫技巧之伪属性注入

原文:ASP.NET Core 奇淫技巧之伪属性注入 一.前言 开局先唠嗑一下,许久未曾更新博客,一直在调整自己的状态,去年是我的本命年,或许是应验了本命年的多灾多难,过得十分不顺,不论是生活上还是工作上.还好当我度过了所谓的本命年后,许多事情都在慢慢变好,我将会开始恢复更新博客,争取恢复到以前的速度上(因为工作比较忙,所以这个过程可能需要一段时间). 二.关于属性注入 说到属性注入,我们就不得不提一下 DI(Dependency Injection),即依赖注入,用过 ASP.NET Core

CSS布局奇淫技巧之--各种居中

居中是我们使用css来布局时常遇到的情况.使用css来进行居中时,有时一个属性就能搞定,有时则需要一定的技巧才能兼容到所有浏览器,本文就居中的一些常用方法做个简单的介绍. 注:本文所讲方法除了特别说明外,都是兼容IE6+.谷歌.火狐等主流浏览器的. 先来说几种简单的.人畜无害的居中方法 1. 把margin设为auto 具体来说就是把要居中的元素的margin-left和margin-right都设为auto,此方法只能进行水平的居中,且对浮动元素或绝对定位元素无效. 2.使用 text-ali

CSS布局奇淫技巧之--各种居中&lt;转&gt;

居中是我们使用css来布局时常遇到的情况.使用css来进行居中时,有时一个属性就能搞定,有时则需要一定的技巧才能兼容到所有浏览器,本文就居中的一些常用方法做个简单的介绍. 注:本文所讲方法除了特别说明外,都是兼容IE6+.谷歌.火狐等主流浏览器的. 先来说几种简单的.人畜无害的居中方法 1. 把margin设为auto 具体来说就是把要居中的元素的margin-left和margin-right都设为auto,此方法只能进行水平的居中,且对浮动元素或绝对定位元素无效. 2.使用 text-ali

javascript在调试bug的奇淫技巧(Chrome, Firebug, Filddle 调试)

Fiddler Fiddler调式使用知多少(一)深入研究 微信fiddle 微信fiddle Chrome Google Chrome 官方 Chrome - 基础 Chrome - 进阶 Chrome - 性能 Chrome - 性能进阶 Chrome - 移动 Chrome - 使用技巧 Chrome - Console控制台不完全指南 Chrome - Workspace使浏览器变成IDE network面板 chrome开发工具快捷键 chrome调试工具 Chrome 开发工具 Wo

大话后端开发的奇淫技巧大集合

Hi,大家好,很荣幸有这个机会可以通过写博文的方式,把这些年在后端开发过程中总结沉淀下来的经验和设计思路分享出来 模块化设计 根据业务场景,将业务抽离成独立模块,对外通过接口提供服务,减少系统复杂度和耦合度,实现可复用,易维护,易拓展 项目中实践例子: Before: 在返还购APP里有个[我的红包]的功能,用户的红包数据来自多个业务,如:邀请新用户注册领取100元红包,大促活动双倍红包,等各种活动红包,多个活动业务都实现了一套不同规则的红包领取和红包奖励发放的机制,导致红包不可管理,不能复用,