为了保护站点安全,有时候我们需要一个web防火墙,来实现拦截过滤,在openresty里面其实很好做这个功能,下面我们简单实现一个黑白名单ip的功能
mvc 中加上waf模块
lite/mvc.lua
-- waf begin
local ret, waf = pcall(require, "waf") -- 安全引入rewrite模块,假如没有也不会报错
if ret then
local c_ret, r_ret = pcall(waf.exec)
-- c_ret 表示执行成功,r_ret 表示已重定向,两者都为true,则表示重写成功,则不继续往下执行
if c_ret and r_ret then
return
end
end
-- waf end
这个不一定要在mvc里面做,也可以直接在access_by_lua阶段做
获取用户IP
function get_client_ip()
local ip = ngx.req.get_headers(