diff --git a/plugins/op_waf/waf/lua/common.lua b/plugins/op_waf/waf/lua/common.lua index e6b11c50b..ed2c20b2e 100644 --- a/plugins/op_waf/waf/lua/common.lua +++ b/plugins/op_waf/waf/lua/common.lua @@ -23,8 +23,10 @@ function _M.new(self) logdir = logdir, config = '', site_config = '', + server_name = '', params = nil } + return setmetatable(self, mt) end @@ -364,10 +366,6 @@ function _M.get_server_name(self) end --- function _M.get_sn(self) --- retun string.gsub(self:get_server_name(),'_','.') --- end - function _M.is_ngx_match_orgin(self,rule,match, sign) if ngx_match(ngx.unescape_uri(match), rule,"isjo") then @@ -522,10 +520,13 @@ end function _M.get_client_ip(self) local client_ip = "unknown" + local server_name = self.params['server_name'] + -- self:D("fff..."..client_ip..server_name) if self.site_config[server_name] then if self.site_config[server_name]['cdn'] then for _,v in ipairs(self.site_config[server_name]['cdn_header']) do + -- C:D("vv:"..v..tostring(request_header[v])) if request_header[v] ~= nil and request_header[v] ~= "" then local header_tmp = request_header[v] if type(header_tmp) == "table" then header_tmp = header_tmp[1] end @@ -546,7 +547,6 @@ end function _M.is_site_config(self,cname) - local server_name = self.params["server_name"] if self.site_config[server_name] ~= nil then if cname == 'cc' then return self.site_config[server_name][cname]['open'] diff --git a/plugins/op_waf/waf/lua/init.lua b/plugins/op_waf/waf/lua/init.lua index b885d8279..eb3c6261d 100644 --- a/plugins/op_waf/waf/lua/init.lua +++ b/plugins/op_waf/waf/lua/init.lua @@ -24,13 +24,17 @@ local post_rules = C:read_file('post') local cookie_rules = C:read_file('cookie') +local server_name = string.gsub(C:get_server_name(),'_','.') + + +-- C:D("sss:"..C:get_server_name()) function initParams() local data = {} - data['ip'] = C:get_client_ip() - data['ipn'] = C:arrip(data['ip']) + data['server_name'] = server_name + -- data['ip'] = C:get_client_ip() + -- data['ipn'] = C:arrip(data['ip']) data['request_header'] = ngx.req.get_headers() data['uri'] = ngx.unescape_uri(ngx.var.uri) - data['server_name'] = string.gsub(C:get_server_name(),'_','.') data['uri_request_args'] = ngx.req.get_uri_args() data['method'] = ngx.req.get_method() data['request_uri'] = ngx.var.request_uri @@ -40,11 +44,11 @@ end local params = initParams() C:setParams(params) - C:setDebug(true) local server_name = params["server_name"] - +params['ip'] = C:get_client_ip() +params['ipn'] = C:arrip(params['ip']) C:D(server_name) function get_return_state(rstate,rmsg) @@ -595,7 +599,7 @@ function waf() if waf_post() then return true end if post_data_chekc() then return true end - if site_config[server_name] then + if site_config[server_name]['open'] then if X_Forwarded() then return true end if post_X_Forwarded() then return true end -- url_path()