WAF学习_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)) 相关推荐
byourb 2019-11-29
峰哥 2020-09-23
陈云佳 2020-08-15
wqiaofujiang 2020-07-05
wordmhg 2020-06-26
wqiaofujiang 2020-06-16
zllbirdonland 2020-06-16
eroshn 2020-06-10
长安长夜Saint 2020-06-07
Dawnworld 2020-06-07
fansenjun 2020-03-01
CSDNMrWang 2020-05-11
Dawnworld 2020-05-05
陈云佳 2020-04-21
Neptune 2020-04-20
shunelly 2020-04-16
aolishuai 2020-04-15
YukiRain 2020-04-14
陈云佳 2020-03-07