#!/usr/bin/python3 import sqlite3 import http.cookies import os import time # Ensure we import time for the timestamp check print("Content-Type: text/html") print() # Ensure the session_id is properly parsed cookie = http.cookies.SimpleCookie(os.environ.get('HTTP_COOKIE', '')) session_id = cookie.get('session_id') # Log the session ID for debugging with open("/tmp/user_panel_session.log", "a") as f: f.write(f"Parsed session ID: {session_id.value if session_id else 'None'}\n") if session_id: session_id = session_id.value # Connect to SQLite and check the session db = sqlite3.connect('/var/lib/monotreme/data/monotreme.db') cursor = db.cursor() # Log the current timestamp for debugging current_time = int(time.time()) with open("/tmp/user_panel_session.log", "a") as f: f.write(f"Current time (UNIX timestamp): {current_time}\n") # Check if the session exists and is still valid cursor.execute("SELECT username, expires_at FROM sessions WHERE session_id=? AND expires_at > ?", (session_id, current_time)) result = cursor.fetchone() if result: username, expires_at = result # Log the session expiration time for debugging with open("/tmp/user_panel_session.log", "a") as f: f.write(f"Session found for user: {username}\n") f.write(f"Session expires at: {expires_at}, Current time: {current_time}\n") # Print the user panel print(f"
This is your user panel.
") print("This panel contains nothing but the ability to logout.
") print('Logout') else: with open("/tmp/user_panel_session.log", "a") as f: f.write("Session expired or invalid.\n") print("