fix: fallback qdreader uid to cookie guid
This commit is contained in:
@@ -129,22 +129,29 @@ function cookieToString(jar) {
|
||||
return arr.join("; ")
|
||||
}
|
||||
function b64decode(s) {
|
||||
s = String(s || "")
|
||||
s = String(s || "").trim()
|
||||
try { s = decodeURIComponent(s) } catch (e) {}
|
||||
s = s.replace(/-/g, "+").replace(/_/g, "/")
|
||||
while (s.length % 4) s += "="
|
||||
try { if (typeof Buffer !== "undefined") return Buffer.from(s, "base64").toString("utf8") } catch (e) {}
|
||||
try { return decodeURIComponent(escape(atob(s))) } catch (e) { return "" }
|
||||
}
|
||||
function isRealUid(uid) {
|
||||
uid = String(uid === undefined || uid === null ? "" : uid).trim()
|
||||
return /^\d{5,}$/.test(uid) ? uid : ""
|
||||
}
|
||||
function uidFromQDHeader(qdheader) {
|
||||
var decoded = b64decode(qdheader)
|
||||
var uid = decoded ? trim(decoded.split("|")[0] || "") : ""
|
||||
return /^\d+$/.test(uid) ? uid : ""
|
||||
return isRealUid(uid)
|
||||
}
|
||||
function extractUid(cookie) {
|
||||
var jar = parseCookieString(cookie)
|
||||
var uid = uidFromQDHeader(jar.QDHeader || jar.qdheader || jar.QDHEADER || "")
|
||||
if (uid) return uid
|
||||
if (jar.uid) return String(jar.uid)
|
||||
if (jar.userid) return String(jar.userid)
|
||||
return ""
|
||||
uid = isRealUid(jar.uid || jar.userid || jar.userId || jar.UserId)
|
||||
if (uid) return uid
|
||||
return isRealUid(jar.ywguid || jar.gwguid || jar.guid)
|
||||
}
|
||||
function maskCookie(cookie) {
|
||||
cookie = String(cookie || "")
|
||||
|
||||
Reference in New Issue
Block a user