fix useragent bug in utils due to not using req_fhdr instead of req_hdr http://cbonte.github.io/haproxy-dconv/2.4/configuration.html\#7.3.6-req.fhdr close #3

master
Thomas Lynch 2 years ago
parent bc55ce5a93
commit 2b0b15781e
Signed by: fatchan
GPG Key ID: 112884AA57DF40B1
  1. 16
      src/libs/utils.lua

@ -2,19 +2,19 @@ local _M = {}
local sha = require("sha")
local secret_bucket_duration = 43200 -- 60 * 60 * 12 -- 12 hours
require("print_r")
function _M.generate_secret(context, salt, is_applet, iterations)
local start_sec = core.now()['sec']
local bucket = start_sec - (start_sec % secret_bucket_duration)
local ip = context.sf:src()
local user_agent = ""
--TODO: fix bug here making this not be same value
-- if is_applet == true then
-- user_agent = context.headers['user-agent'] or {}
-- user_agent = user_agent[0]
-- else
-- user_agent = context.sf:req_hdr('user-agent')
-- end
if is_applet == true then
user_agent = context.headers['user-agent'] or {}
user_agent = user_agent[0]
else
--note req_fhdr not req_hdr otherwise commas in useragent become a delimiter
user_agent = context.sf:req_fhdr('user-agent')
end
if iterations == nil then
--hcaptcha secret is just this
return context.sc:xxh32(salt .. bucket .. ip .. user_agent)

Loading…
Cancel
Save