openresty IP防火墙

本文介绍了如何在OpenResty中构建一个简单的IP防火墙,包括在MVC模式下添加WAF模块,获取用户IP,实现白名单和黑名单功能,以及如何混合使用黑白名单。示例代码展示了如何拦截和控制特定IP的访问,对于小规模的攻击提供了一定的防护能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为了保护站点安全,有时候我们需要一个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(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值