A web GUI to configure waf based on nginx-lua module
更新说明
加入分类字段,从而实现按大类的增删改查,当然也需要按照类别展示给用户。
效果图
大致如下图,有一个类似菜单的分类功能。每一页可以显示、增加、删除、修改规则。最后有一个部署功能的接口。
简单的基于磁盘文件的增删改
目前已经完成的接口有:
① http://127.0.0.1:8080/rules/
② http://127.0.0.1:8080/rules/select
③ http://127.0.0.1:8080/rules/add
④ http://127.0.0.1:8080/rules/del
⑤ http://127.0.0.1:8080/rules/modify
与前端页面的接口如下示(Json格式):
应用场景:用户进入首页后,首先获得关于类别的信息。
请求url地址:①
请求参数:无
返回参数如下:
{ "pageNum": 8,
"nameList": {
"1": "args",
"2": "blackip",
"3": "cookie",
"4": "post",
"5": "url",
"6": "useragent",
"7": "whiteip",
"8": "whiteurl"
}
}
应用场景:当用户点击某个大类时需要请求该接口,以获得该类别下的规则。
请求url地址:②
请求参数:
{ "pageNo":7,
}
返回参数如下:
{ "pageNo":7,
"num":5,
[
{"id":1, "content":"\.\./"},
{"id":2, "content":"base64\("},
{"id":3, "content":"\:\$"},
{"id":4, "content":"\$\"},
{"id":5, "content":"xwork\.MethodAccessor"},
]
}
应用场景:用户点击添加按钮弹出新表单,该表单可扩展性添加多条数据。
请求url地址:③
请求参数如下:
{ "pageNo":7,
"num":2,
[
{"id":1,"content":"(gopher|doc|php|glob|file|phar|zlib|ftp|ldap|dict|ogg|data)\:\/"},
{"id":2, "content":"\$_(GET|post|cookie|files|session|env|phplib|GLOBALS|SERVER)\["},
]
}
返回参数如下:
{ "pageNo":7,
"num":7,
[
{"id":1, "content":"\.\./"},
{"id":2, "content":"base64\("},
{"id":3, "content":"\:\$"},
{"id":4, "content":"\$\"},
{"id":5, "content":"xwork\.MethodAccessor"},
{"id":6, "content":"(gopher|doc|php|glob|file|phar|zlib|ftp|ldap|dict|ogg|data)\:\/"},
{"id":7, "content":"\$_(GET|post|cookie|files|session|env|phplib|GLOBALS|SERVER)\["},
]
}
应用场景:用户选中打算删除的规则,点击删除按钮后提交规则id号。
请求url地址:④
请求参数如下:
{ "pageNo":7,
"num":2,
[
"id":1,
"id":4,
]
}
返回参数如下:
{ "pageNo":7,
"num":3,
[
{"id":1, "content":"base64\("},
{"id":2, "content":"\:\$"},
{"id":3, "content":"xwork\.MethodAccessor"},
]
}
应用场景:用户选中打算修改的规则并点击修改按钮,在弹出的新表单中填写修改后的内容,完成修改后提交。
请求url地址:⑤
请求参数如下:
{ "pageNo":7,
"num":2,
[
{"id":1,"content":"(gopher|doc|php|glob|file|phar|zlib|ftp|ldap|dict|ogg|data)\:\/"},
{"id":3, "content":"\$_(GET|post|cookie|files|session|env|phplib|GLOBALS|SERVER)\["},
]
}
返回参数如下:
{ "pageNo":7,
"num":3,
[
{"id":1, "content":"(gopher|doc|php|glob|file|phar|zlib|ftp|ldap|dict|ogg|data)\:\/"},
{"id":2, "content":"\:\$"},
{"id":3, "content":"\$_(GET|post|cookie|files|session|env|phplib|GLOBALS|SERVER)\["},
]
}