← Veb va HTTP asoslari
MODUL 06 / DARS 03

REST API va server validatsiyasi

Kirish sxemasi va ruxsatni alohida tekshiring.

45 daqiqa Python 3

API shartnomasi

Endpoint uchun metod, kirish sxemasi, chiqish sxemasi, status va ruxsat qoidasi belgilanadi. Faqat brauzer formasida required qo‘yish yetmaydi; istalgan klient noto‘g‘ri JSON yuborishi mumkin. Server tur, uzunlik, qiymat va munosabatni tekshiradi.

Allowlist modeli

Kutilgan maydonlarni tanlab oling. Mijoz yuborgan is_admin yoki user_id’ni modelga ommaviy yozish mass assignment keltiradi. Foydalanuvchini sessiya orqali aniqlang. Filtrlangan to‘g‘ri maydon ham o‘zga foydalanuvchining obyektiga yozish huquqini bermaydi.

Resurs chegarasi

Body hajmi, list uzunligi, pagination va urinishlar sonini chegaralang. Tur tekshiruvida bool/int farqini biling. Xatoda sirli obyekt yoki ichki stacktrace’ni qaytarmang. Darsdagi validator faqat title maydonini qabul qiladi.

Python’da ko‘rib chiqamiz

payload = {"title": "Lab report", "is_admin": True, "user_id": 99}
allowed = {"title"}
cleaned = {key: value for key, value in payload.items() if key in allowed}
print(",".join(sorted(cleaned)))

Misolni

Mustaqil mashq

Title uchun string, 1–100 uzunlik va bo‘sh bo‘lmaslik tekshiruvini yozing. Noma’lum maydonni rad etish yoki chiqarish siyosatini tushuntiring.

Chuqurroq o‘rganing

Rasmiy hujjatni ochish ↗
O‘QING → O‘ZGARTIRING → SINANG

Python ish maydoni

.py

Kod brauzeringizda Web Worker orqali bajariladi. Serverga yuborilmaydi. Standart kutubxona bilan ishlang; lokal shell va host fayllari mavjud emas.

● ● ●api-validation.pyPython 3.14
Muhit ishga tushirishda yuklanadi
NATIJA
Kod natijasi shu yerda ko‘rinadi.
JAVOBI TEKSHIRILADIGAN TOPSHIRIQ

Natijani tahlil qiling

Allowlist’dan keyin qaysi maydon qoladi?

Yordamchi ishora

Faqat allowed ichidagi kalitlar.

Python misolini hisobsiz ham bajara olasiz. Javobni tekshirish va natijani saqlash uchun hisobga kiring.

Hisobga kirish

Bu tekshiruv javob mosligini baholaydi. Mustaqil mashq va loyiha sifatini dars mezonlari bilan alohida tekshiring.

BILIMINGIZNI MUSTAHKAMLANG

Dars testi

To‘g‘ri javob bering. Qayta urinish mumkin; eng yaxshi natijangiz saqlanadi.

1. Mijoz yuborgan is_admin bilan nima qilish kerak?
Test uchun hisobga kirish
O‘Z SO‘ZINGIZ BILAN YOZING

Shaxsiy konspekt

Tushunganlaringiz, savollaringiz va keyingi amaliyotingiz. Parol yoki token yozmang.

Konspekt uchun hisobga kirish