Bugungi kunda Python — web, automation, AI va backend sohalarda eng ko‘p ishlatiladigan tillardan biri. Lekin ko‘plab dasturchilar funksional kod yozishga e’tibor berib, xavfsizlikni ikkinchi o‘ringa qo‘yishadi.
Natija? 🔓 Ma’lumotlar sizib chiqadi 🔓 Hisoblar buziladi 🔓 Platforma ishonchliligi yo‘qoladi
Keling, Python’da eng ko‘p uchraydigan xavfsizlik xatolarini ko‘rib chiqamiz.
1️⃣ Parollarni oddiy matn ko‘rinishida saqlash
❌ XATO:
password = "123456"
Yoki database’da parolni hash qilmasdan saqlash.
✅ TO‘G‘RI:
from werkzeug.security import generate_password_hash
hashed_password = generate_password_hash("123456")
Har doim:
Parolni hash qiling
Kuchli algoritmlardan foydalaning (bcrypt, Argon2)
2️⃣ SQL Injection’dan himoyalanmaslik
❌ XATO:
query = f"SELECT * FROM users WHERE username = '{username}'"
Bu yerda attacker SQL kod yuborishi mumkin.
✅ TO‘G‘RI:
cursor.execute("SELECT * FROM users WHERE username = %s", (username,))
Yoki ORM (Django ORM, SQLAlchemy) ishlating.
3️⃣ eval() funksiyasidan foydalanish
❌ XATO:
user_input = input() eval(user_input)
Bu to‘g‘ridan-to‘g‘ri serverni buzishga imkon beradi.
📌 Qoidа: Hech qachon user input’ni eval qilmang.
4️⃣ DEBUG rejimini production’da yoqib qo‘yish
Django’da:
DEBUG = True
Production’da bu xavfli. Chunki error sahifasi ichki ma’lumotlarni ko‘rsatadi.
✅ Production’da:
DEBUG = False
5️⃣ Environment o‘zgaruvchilaridan foydalanmaslik
❌ XATO:
SECRET_KEY = "supersecretkey123"
✅ TO‘G‘RI:
import os SECRET_KEY = os.environ.get("SECRET_KEY")
Yoki .env fayl ishlating (python-dotenv).
6️⃣ Input validation qilmaslik
Userdan kelgan ma’lumot har doim tekshirilishi kerak.
Masalan:
Email format
Fayl hajmi
Fayl turi
Matn uzunligi
Hech qachon user ma’lumotiga ishonmang.
7️⃣ Rate limiting yo‘qligi
Login sahifasida cheklov bo‘lmasa:
Attacker millionlab parol kombinatsiyasini sinab ko‘rishi mumkin.
Django’da:
django-ratelimit
DRF throttling
ishlatish tavsiya qilinadi.
8️⃣ HTTPS ishlatmaslik
Agar sayt HTTP’da ishlasa:
Parollar ochiq ketadi
Cookie’lar o‘g‘irlanadi
Har doim:
SSL sertifikat
Secure cookies
HSTS yoqing
9️⃣ Fayl yuklashni nazorat qilmaslik
User .exe yoki zararli fayl yuklashi mumkin.
Tekshiring:
Fayl kengaytmasi
MIME type
Maksimal hajm
🔟 Logging qilmaslik
Xavfsizlik hodisalari log qilinmasa:
Muammoni topa olmaysiz
Hujumni aniqlay olmaysiz
Har doim:
Failed login
Suspicious activity
Server error’larni log qiling
🔐 Xulosa
Python xavfsiz til. Lekin xavfsiz kod yozish — dasturchining mas’uliyati.
Eslab qoling:
Xavfsizlik qo‘shimcha funksiya emas. Bu tizimning bir qismi.
Agar siz backend yoki web dasturchi bo‘lsangiz, quyidagilarni bilishingiz shart:
Authentication & Authorization
Hashing
SQL injection himoyasi
Secure deployment
Environment config
+3
+0
+0
+0
+0
+0
+0