monotreme.org/scripts/logout.cgi

34 lines
1,012 B
Text
Raw Normal View History

2024-09-23 06:21:45 +01:00
#!/usr/bin/python3
2024-09-22 22:37:04 +01:00
import os
2024-09-23 06:21:45 +01:00
import sqlite3
2024-09-22 22:37:04 +01:00
import http.cookies
2024-09-23 06:21:45 +01:00
# Set HTTP headers
2024-09-22 22:37:04 +01:00
print("Content-Type: text/html")
print("Set-Cookie: session_id=; Path=/; Expires=Thu, 01 Jan 1970 00:00:00 GMT")
print()
# Get the session ID from the cookie
cookie = http.cookies.SimpleCookie(os.environ.get("HTTP_COOKIE"))
session_id = cookie.get('session_id')
2024-09-23 06:21:45 +01:00
# Log the logout process for debugging
with open("/tmp/logout_session.log", "a") as f:
f.write(f"Session ID: {session_id.value if session_id else 'None'}\n")
2024-09-22 22:37:04 +01:00
if session_id:
session_id = session_id.value
# Connect to SQLite and remove the session
db = sqlite3.connect('/var/lib/monotreme/data/monotreme.db')
cursor = db.cursor()
cursor.execute("DELETE FROM sessions WHERE session_id=?", (session_id,))
db.commit()
db.close()
2024-09-23 06:21:45 +01:00
# Output the HTML for the logout page
print("<html><head><title>Logout</title></head>")
print("<body><h1>You have been logged out!</h1>")
2024-09-22 22:37:04 +01:00
print("<a href='/login/'>Login again</a>")
2024-09-23 06:21:45 +01:00
print("</body></html>")