首页 > 技术文章 正文
nginx 关键词过滤 维护互联网 绿色 (nginx_Openresty .lua)

 2023-09-13 09:20:01

我们都知道大家做网站的,避免不了上面的文章,有某些违规的词语可能涉嫌违规,也可能会被服务商给检测到违规,导致我们的服务器被暂停使用,也可能会出现有害于未成年人的不健康的信息

我们都知道大家做网站的,避免不了上面的文章,有某些违规的词语可能涉嫌违规,也可能会被服务商给检测到违规,导致我们的服务器被暂停使用,也可能会出现有害于未成年人的不健康的信息

 

第2有很多人的网站是采集过来的,并不是说每一篇文章都是自己发布的,所以说难免会有一些不好的内容在上面这个就需要我们对服务器起一个审查的作用,但是大家很多网站是个人使用所以说没有那么多精力来维护这些,我的大家可能会被迫关掉网站之类

 

这里提供一个好的方法,就像我今天提供的这个关键词过滤的方法,它可以帮我们避免一些违规起一些辅助的作用,比如一些特别不好的词语可以直接过滤掉下面,是我做nginx关键词过滤的一些尝试

 

nginx.conf 文件内 http{} 里面加入

 lua_package_path "/test.lua;;";
 body_filter_by_lua_file /test.lua;

新建一个LUA 文件 test.lua

local resp_body = ngx.arg[1]
local request_uri = ngx.var.request_uri

-- 检查请求URI是否以.html结尾
if string.match(request_uri, "%.html$") then
    -- 创建一个替换规则的表格
    local replacements = {
        -- 添加你的替换规则
{ "xx", "22" },
{ "xx", "23" },

        -- 添加更多规则
    }

    -- 遍历替换规则并应用它们
    for _, rule in pairs(replacements) do
        resp_body = string.gsub(resp_body, rule[1], rule[2])
    end
end

-- 将修改后的响应体传递回Nginx
ngx.arg[1] = resp_body

 

关键词过滤采用nginx_Openresty的办法扩展L U A插件,在官方的nginx版本上面是无法使用的

所以建议大家装nginx_Openresty版本

经过我的测试这个只局限于小体量网站,每天上万访问量的是没法使用他的功能不如nginx官方的sub_filter好用因为会出现卡顿,导致用户连接超时的情况,时有发生可能是我优化不够到位。

原文链接:https://www.yuepc.com/info/153380.html

  •  标签: