diff --git a/src/libs/utils.lua b/src/libs/utils.lua index 2c4f3af..d317008 100644 --- a/src/libs/utils.lua +++ b/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)