This commit is contained in:
Tristan Smith 2024-09-23 01:27:02 -04:00
parent c980f32726
commit 573551bd32

View file

@ -1,39 +1,55 @@
import sqlite3 #!/usr/bin/python3
import http.cookies
import os
# Ensure the session_id is properly parsed import sqlite3
cookie = http.cookies.SimpleCookie(os.environ.get('HTTP_COOKIE', '')) import http.cookies
session_id = cookie.get('session_id') import os
import time # Ensure we import time for the timestamp check
if session_id: print("Content-Type: text/html")
session_id = session_id.value print()
else:
session_id = None
# Log the session ID for debugging # 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: with open("/tmp/user_panel_session.log", "a") as f:
f.write(f"Parsed session ID: {session_id}\n") f.write(f"Current time (UNIX timestamp): {current_time}\n")
if session_id: # Check if the session exists and is still valid
session_id = session_id.value cursor.execute("SELECT username, expires_at FROM sessions WHERE session_id=? AND expires_at > ?", (session_id, current_time))
# Connect to SQLite and check the session result = cursor.fetchone()
db = sqlite3.connect('/var/lib/monotreme/data/monotreme.db')
cursor = db.cursor()
# Check if the session exists and is still valid if result:
cursor.execute("SELECT username FROM sessions WHERE session_id=? AND expires_at > ?", (session_id, int(time.time()))) username, expires_at = result
result = cursor.fetchone()
if result: # Log the session expiration time for debugging
username = result[0] with open("/tmp/user_panel_session.log", "a") as f:
print(f"<h1>Welcome, {username}!</h1>") f.write(f"Session found for user: {username}\n")
print("<p>This is your user panel.</p>") f.write(f"Session expires at: {expires_at}, Current time: {current_time}\n")
print("<p>Here, for now, you can only log out.</p>")
print("<a href='/cgi-bin/logout.cgi'>Log out</a>") # Print the user panel
else: print(f"<h1>Welcome, {username}!</h1>")
print("<h1>Session expired or invalid!</h1>") print("<p>This is your user panel.</p>")
print("<a href='/login/'>Login again</a>") print("<p>This panel contains nothing but the ability to logout.</p>")
print('<a href="/cgi-bin/logout.cgi">Logout</a>')
else: else:
print("<h1>No session found!</h1>") with open("/tmp/user_panel_session.log", "a") as f:
f.write("Session expired or invalid.\n")
print("<h1>Session expired or invalid!</h1>")
print("<a href='/login/'>Login again</a>") print("<a href='/login/'>Login again</a>")
else:
print("<h1>No session found!</h1>")
print("<a href='/login/'>Login again</a>")