资讯专栏INFORMATION COLUMN

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

William_Sang / 740人阅读

摘要:的支持逻辑比较但不支持中比较本示例使用了随机从取如果这是错误的写法如果这是错误的写法上面的配置在启动时会报错误的即然不支持,那有没有办法小小地弥补下呢随机从取如果正则匹配如果正则匹配测试次骚年速度加入网络安全小组跟老夫们一起学吧

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吧~

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/39111.html

相关文章

  • NGINX奇淫技巧 —— 7. IF实现数学比较功能 (2)

    摘要:接上文的奇淫技巧实现数学比较功能竟然不支持这样的写法随机从取随机从取如果正则匹配如果正则不匹配求大牛来实现 接上文 《NGINX的奇淫技巧 —— 6. IF实现数学比较功能 (1)》 NGINX竟然不支持这样的写法.... location = /test/ { default_type html; set_random $a 0 9; #$a 随机 从0-...

    lifefriend_007 评论0 收藏0
  • NGINX奇淫技巧 —— 5. NGINX实现金盾防火墙的功能(防CC)

    摘要:文章整理中实现思路当服务器接收到的单个并发超出阀值加入封禁区弹回服务器根据年月日时分进行唯一哈希输出成类似的容易理解的数据多次随机数加大破解难度若浏览器仍死不悔改继续弹回技术细节单个并发超限触发规则在内存中标识此的屏蔽过期时间进入混淆区由进 文章整理中...... 实现思路 当服务器接收到的单个IP并发超出阀值, 加入封禁区(弹回2). 服务器根据IP、UA、SESSI...

    wenzi 评论0 收藏0
  • NGINX奇淫技巧 —— 2. IF AND 和 OR

    摘要:在上一篇文章里的奇淫技巧字符串截断中我们介绍过了使用来进行截断字符串的用法这次我们来了解下的逻辑用法什么是逻辑用法呢就程序中的关系就叫做逻辑了支持的与或者与吗答案是当你尝试这样配置重载时会报出错误那么我们应该怎样来实现和的逻辑关系呢 在上一篇文章:《NGINX里的奇淫技巧 —— 1. 字符串截断》中, 我们介绍过了使用if来进行截断字符串的用法, 这次我们来了解下if的逻辑用法: 什...

    CarterLi 评论0 收藏0
  • NGINX奇淫技巧 —— 3. 不同域名输出不同伺服器标识

    摘要:大家或许会有这种奇葩的需求要是同一台主机上需要针对不同的域名输出不同的头怎么实现呢我们需要用到模块像上面这样我们就可以来实现这功能了但这样靠谱吗靠谱但是不满足的编码风格我们绝不允许丑陋的代码让别人看着笑话我们追求极客的代码像这样子是不是好看 大家或许会有这种奇葩的需求... 要是同一台主机上, 需要针对不同的域名输出不同的Server头, 怎么实现呢? 我们需要用到ngx_heade...

    QLQ 评论0 收藏0
  • NGINX奇淫技巧 —— 1. 字符串截断

    摘要:在给大家讲述这个问题之前,先给大家看一段配置我们用到了这样输出来的内容,可能是下面这样的但如果我们要截取某几位字符怎么办呢首先大家想到的肯定是使用模块来实现但只能这样吗有没有更方便的方式呢有的我们可以巧妙地使用正则表达式来实现这个小需 在给大家讲述这个问题之前,先给大家看一段nginx配置. 我们用到了 set-misc-nginx-module nginxlocation /tes...

    endless_road 评论0 收藏0

发表评论

0条评论

William_Sang

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<