Python CGI स्क्रिप्ट का उपयोग करके MySQL डेटाबेस के साथ यूज़र लॉगिन सिस्टम बनाने का पूरा उदाहरण नीचे दिया गया है।
1. HTML लॉगिन फॉर्म (login.html)
<html> <body> <form action="login.py" method="get"> email: <input type="text" name="e1"> password: <input type="password" name="p1"> <input type="submit" value="register"> </form> </body> </html>
2. Python CGI स्क्रिप्ट (login.py)
#!C:\Python27\python.exe
import MySQLdb
import cgi
import Cookie
# डेटाबेस कनेक्शन खोलें
db = MySQLdb.connect("localhost", "root", "", "student")
# कर्सर ऑब्जेक्ट तैयार करें
cursor = db.cursor()
# फॉर्म डेटा प्राप्त करें
data = cgi.FieldStorage()
email = data.getvalue('e1')
password = data.getvalue('p1')
# SQL क्वेरी तैयार करें
sql = "SELECT id, email, password FROM user WHERE email='%s' AND password='%s'" % (email, password)
try:
# SQL कमांड निष्पादित करें
if cursor.execute(sql):
db.commit()
# कुकी सेट करें
c = Cookie.SimpleCookie()
c['mou'] = email
c['mou']['expires'] = 24 * 60 * 60
# हेडर प्रिंट करें (कुकी के साथ)
print(c)
print("Content-type: text/html")
print('''<html>
<head>
<title>Hello World - First CGI Program</title>
</head>
<body>
<h2>Successfully Login</h2>
</body>
</html>''')
else:
db.commit()
print("Content-type: text/html")
print("<html><body><h2>Fail</h2></body></html>")
except Exception as e:
# त्रुटि होने पर रोलबैक करें
db.rollback()
print("Content-type: text/html")
print("<html><body><h2>Error: %s</h2></body></html>" % str(e))
finally:
# सर्वर से डिस्कनेक्ट करें
db.close()
महत्वपूर्ण सुरक्षा नोट
उपरोक्त कोड केवल शैक्षिक उद्देश्य के लिए है। वास्तविक एप्लिकेशन में कभी भी:
- SQL इंजेक्शन रोकने के लिए पैरामीटराइज़्ड क्वेरी (Parameterized Queries) का उपयोग करें
- पासवर्ड को हैश करके स्टोर करें (bcrypt, Argon2 आदि)
- Python 2.7 के बजाय Python 3.x और
mysql-connector-pythonयाPyMySQLका उपयोग करें - CGI के बजाय आधुनिक फ्रेमवर्क (Flask, Django, FastAPI) अपनाएं