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

This commit is contained in:
Thomas Lynch
2021-12-01 13:55:05 +11:00
parent bc55ce5a93
commit 2b0b15781e

View File

@ -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)