local host = "192.168.16.2"
local port = 6379
function getClientIp()
    local headers = ngx.req.get_headers()
    local ip = headers["X-Real-IP"]
    if ip == nil then
        ip = headers["X-Forwarded-For"]
    end
    if ip == "unknown" or ip == nil then
        ip = ngx.var.remote_addr
    end
    if ip == nil then
        ip = "0.0.0.0"
    end
    return ip
end
function ipDeny()
    local ip = getClientIp()
    local redis = require "resty.redis"
    local red = redis:new()
    red:set_timeouts(1000, 1000, 1000) -- 1 sec
    local ok, err = red:connect(host, port)
    if not ok then
        ngx.say("failed to connect: ", err)
        return
    end
    isDeny, err = red:sismember("ip_blacklist", ip)
    return isDeny
end
function countQueue()
    local redis = require "resty.redis"
    local red = redis:new()
    red:set_timeouts(1000, 1000, 1000) -- 1 sec
    local ok, err = red:connect(host, port)
    if not ok then
        ngx.say("failed to connect: ", err)
        return
    end
    count, err = red:incr("num")
    return count
end
function read(filename)
    local path = "/etc/nginx/conf.d"
    local file = io.open(path..'/'..filename,"r")
    if file == nil then
        return
    end 
    t = {}
    for line in file:lines() do
        table.insert(t,line)
    end 
    file:close()
    return t
end
function uaFilter()
    local rules = read("user-agent")
    local ua = ngx.var.http_user_agent
    if ua == nil then
        ngx.exit(403)
    end 
    for _, rule in pairs(rules) do
        if rule ~= "" and ngx.re.match(ua,rule,"isjo") then
            ngx.exit(403)
        end
    end
    return
end
         
        
叼茂SEO.bfbikes.com
怎么收藏这篇文章?
想想你的文章写的特别好https://www.237fa.com/
看的我热血沸腾啊https://www.ea55.com/
兄弟写的非常好 https://www.cscnn.com/
《大爸爸,小爸爸和其它故事》剧情片高清在线免费观看:https://www.jgz518.com/xingkong/69254.html
《罗丹2017》剧情片高清在线免费观看:https://www.jgz518.com/xingkong/165441.html
《馗降:粽邪2》恐怖片高清在线免费观看:https://www.jgz518.com/xingkong/78914.html
哈哈哈,写的太好了https://www.lawjida.com/
作者的情感表达细腻入微,让人在阅读中找到了心灵的慰藉。
学术术语使用精准,专业性突出。
若能在案例选择上更贴近现实,说服力会进一步提升。
这篇文章提供了宝贵的经验和见解,对读者有很大的启发和帮助。
新盘新项目,不再等待,现在就是最佳上车机会!coinsrore.com
新盘新盘 这个月刚上新盘 新车第一个吃螃蟹!coinsrore.com
2025年10月新盘 做第一批吃螃蟹的人coinsrore.com
新车新盘 嘎嘎稳 嘎嘎靠谱coinsrore.com
新车首发,新的一年,只带想赚米的人coinsrore.com
新盘 上车集合 留下 我要发发 立马进裙coinsrore.com
做了几十年的项目 我总结了最好的一个盘(纯干货)coinsrore.com
新车上路,只带前10个人coinsrore.com
新盘首开 新盘首开 征召客户!!!coinsrore.com
新项目准备上线,寻找志同道合的合作伙伴coinsrore.com
新车即将上线 真正的项目,期待你的参与coinsrore.com
新盘新项目,不再等待,现在就是最佳上车机会!coinsrore.com
新盘新盘 这个月刚上新盘 新车第一个吃螃蟹!coinsrore.com
2025年10月新盘 做第一批吃螃蟹的人coinsrore.com
新车新盘 嘎嘎稳 嘎嘎靠谱coinsrore.com
新车首发,新的一年,只带想赚米的人coinsrore.com
新盘 上车集合 留下 我要发发 立马进裙coinsrore.com
做了几十年的项目 我总结了最好的一个盘(纯干货)coinsrore.com
新车上路,只带前10个人coinsrore.com
新盘首开 新盘首开 征召客户!!!coinsrore.com
新项目准备上线,寻找志同道合 的合作伙伴coinsrore.com
新车即将上线 真正的项目,期待你的参与coinsrore.com
新盘新项目,不再等待,现在就是最佳上车机会!coinsrore.com
新盘新盘 这个月刚上新盘 新车第一个吃螃蟹!coinsrore.com