local cjson = require "cjson" local string = require "string" local table_new = require "table.new" local table = require "table" local waf = require "waf" require "functions" local _M={} local function say_json(errcode,errmsg) ngx.header['Content-Type'] = 'application/json; charset=utf-8' ngx.status = ngx.HTTP_FORBIDDEN ngx.say(cjson.encode({errcode=errcode,errmsg=errmsg})) ngx.exit(ngx.status) end function _M.access(flag) if not flag then return end local content_length=tonumber(ngx.req.get_headers()['content-length']) local method=ngx.req.get_method() local ngxmatch=ngx.re.match if ngx.var.http_Acunetix_Aspect then ngx.exit(444) elseif ngx.var.http_X_Scan_Memo then ngx.exit(444) elseif waf.args() then say_json(403,"WAF禁止访问") end end return _M