zoukankan      html  css  js  c++  java
  • WAF学习_(1)Lua基础

    0x00:前言

    ngx_lua_waf是一个基于ngx_lua的web应用防火墙。

    地址:https://github.com/loveshell/ngx_lua_waf

    0x01:Lua

    Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。

    其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。

    • 游戏开发
    • 独立应用脚本
    • Web 应用脚本
    • 扩展和数据库插件如:MySQL Proxy 和 MySQL WorkBench
    • 安全系统,如入侵检测系统

    0x02:基础

    (1)基础
    #! /usr/bin/lua
    #! 的作用
    告诉解释器,要用 /usr/bin/lua  解释脚本
    (2)注释

    --  单行注释

    --[[

    多行注释

    多行注释

    --]]

    (3)变量

    Lua 中的变量全是全局变量,那怕是语句块或是函数里,除非用 local 显式声明为局部变量。

    局部变量的作用域为从声明位置开始到所在语句块结束

    a = 123

    布尔变量只有nil和false

    数字0,空字符串都是true

    如果想要删除一个变量,那么给他赋值nil即可

    (4)循环
    #! /usr/bin/lua
    sum = 0
    num = 1
    while num <= 100 do
        sum = sum + num
        num = num + 1
        -- Lua中没有 ++   +=
    end
    print("sum = ",sum)
    
    -- for 循环
    for i = 1,100 do
        sum = sum + 1
    end
    print("sum = ",sum)
    
    --[[  
    if判断
    ~= 是不等于 字符串的拼接操作符“..” io库的分别从stdin和stdout读写,read和write函数 --]] if age == 20 and sex == "Man" then print("男士等于20") elseif age > 20 and sex ~= "Woman" then print("非女士且大于20") else local age = io.read() print("Your age is "..age) end
    (5)函数

    function function_name(argument1,......)

      function_body

      return rusult

    end

    --[[ 函数返回两个值的最大值 --]]
    function max(num1, num2)
    
       if (num1 > num2) then
          result = num1;
       else
          result = num2;
       end
    
       return result;
    end
    -- 调用函数
    print("两值比较最大值为 ",max(10,4))
    print("两值比较最大值为 ",max(5,6))
  • 相关阅读:
    Linux 共享库
    使用Visual Studio(VS)开发Qt程序代码提示功能的实现(转)
    ZOJ 3469 Food Delivery(区间DP)
    POJ 2955 Brackets (区间DP)
    HDU 3555 Bomb(数位DP)
    HDU 2089 不要62(数位DP)
    UESTC 1307 windy数(数位DP)
    HDU 4352 XHXJ's LIS(数位DP)
    POJ 3252 Round Numbers(数位DP)
    HDU 2476 String painter (区间DP)
  • 原文地址:https://www.cnblogs.com/liqik/p/12419513.html
Copyright © 2011-2022 走看看