Unnn / server.py
Hxbzbb7272's picture
Create server.py
f6abe0b verified
Raw
History Blame Contribute Delete
1.39 kB
import http.server
import socketserver
import random
import urllib.parse
import html
# Generate 4-digit PIN
PIN = str(random.randint(1000, 9999))
PORT = 8080
class Handler(http.server.BaseHTTPRequestHandler):
def do_GET(self):
# Parse query parameters
parsed = urllib.parse.urlparse(self.path)
params = urllib.parse.parse_qs(parsed.query)
user_pin = params.get("pin", [""])[0]
self.send_response(200)
self.send_header("Content-type", "text/html")
self.end_headers()
# Escape user input
safe_pin = html.escape(user_pin)
if user_pin == PIN:
response = f"""
<h1>βœ… Access Granted</h1>
<p>Your PIN: {safe_pin}</p>
"""
else:
response = f"""
<h1>πŸ” Enter PIN</h1>
<form method="GET">
<input type="text" name="pin" maxlength="4" placeholder="Enter 4-digit PIN"/>
<button type="submit">Submit</button>
</form>
"""
if user_pin:
response += f"<p style='color:red;'>❌ Wrong PIN: {safe_pin}</p>"
self.wfile.write(response.encode())
print(f"πŸ”‘ Generated PIN: {PIN}")
print(f"🌐 Server running at http://127.0.0.1:{PORT}")
with socketserver.TCPServer(("127.0.0.1", PORT), Handler) as httpd:
httpd.serve_forever()