diff --git a/files/routes/routehelpers.py b/files/routes/routehelpers.py index 6208d1dc9..40de740bb 100644 --- a/files/routes/routehelpers.py +++ b/files/routes/routehelpers.py @@ -12,7 +12,13 @@ from files.helpers.config.const import * from files.helpers.security import generate_hash, validate_hash from files.__main__ import cache +def check_session_id(): + if not session.get("session_id"): + session.permanent = True + session["session_id"] = str(uuid.uuid4()) + def get_raw_formkey(u): + check_session_id() return f"{session['session_id']}+{u.id}+{u.login_nonce}" def get_formkey(u): diff --git a/files/routes/wrappers.py b/files/routes/wrappers.py index 97ae1c3d8..745ab746c 100644 --- a/files/routes/wrappers.py +++ b/files/routes/wrappers.py @@ -11,7 +11,7 @@ from files.helpers.get import get_account from files.helpers.logging import log_file from files.helpers.settings import * from files.helpers.cloudflare import * -from files.routes.routehelpers import validate_formkey +from files.routes.routehelpers import validate_formkey, check_session_id from files.__main__ import app, db_session, limiter def rpath(n): @@ -38,9 +38,7 @@ def calc_users(): g.loggedin_chat = cache.get(CHAT_ONLINE_CACHE_KEY) or 0 timestamp = int(time.time()) - if not session.get("session_id"): - session.permanent = True - session["session_id"] = str(uuid.uuid4()) + check_session_id() if v: if session["session_id"] in loggedout: del loggedout[session["session_id"]]