🐍 Python’da Xavfsizlik: Dasturchilar Eng Ko‘p Qiladigan 10 Ta Xato

Saqlab olindi !

🐍 Python’da Xavfsizlik: Dasturchilar Eng Ko‘p Qiladigan 10 Ta Xato

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

👎

Maqola teglari

Havfsizlik Tarmoq OS
Abdurahmon Rashidov Python 54
Facebook Telegram

Bu haftada ko'p o'qildi

Kompyuter tarmoqlarining asosiy turlari

Kompyuter tarmoqlarining asosiy turlari

53936 1322
Kesh xotira nima va uning vazifalari

Kesh xotira nima va uning vazifalari

7126 525
Umumiy tezkor tugmalar : shortcuts

Umumiy tezkor tugmalar : shortcuts

6694 167

Mavzuga oid

Python Backend dasturlash uchun yo'l xaritasi - 2024

Python Backend dasturlash uchun yo'l xaritasi - 2024

133 6
Pythonni o'rganish uchun 2024-yilda nima qilishim kerak ?

Pythonni o'rganish uchun 2024-yilda nima qilishim kerak ?

253 29
PEP 8 nima va Python kodlash uslubiga qanday amal qilish kerak ?

PEP 8 nima va Python kodlash uslubiga qanday amal qilish kerak ?

328 10