← Veb ilovalar xavfsizligi
MODUL 07 / DARS 03

CSRF va holat o‘zgartiruvchi formalar

Cookie mavjudligi foydalanuvchi niyatini isbotlamaydi.

45 daqiqa Python 3

Hujum modeli

Brauzer ayrim vaziyatlarda cookie’ni so‘rovga avtomatik qo‘shadi. Foydalanuvchi boshqa sahifani ochgan bo‘lsa ham, zaif sayt holatini o‘zgartirishga undalishi mumkin. CSRF shu avtomatik autentifikatsiya va yetishmagan niyat tekshiruvidan foydalanadi.

Django himoyasi

O‘zgarishlarni POST kabi metodga joylang. Formada csrf_token, serverda CsrfViewMiddleware yoqilsin. AJAX’da token header bilan yuboriladi. Origin/Referer tekshiruvlari va SameSite qo‘shimcha qatlamlar. CSRF tekshiruvini qulaylik uchun o‘chirib qo‘ymang.

Chegaralarni biling

CSRF autentifikatsiya yoki obyekt ruxsatini almashtirmaydi. XSS tokenni o‘qishi yoki same-origin so‘rov yuborishi mumkin. Tokenni URL’ga qo‘ymang. Misol faqat token mosligini ko‘rsatadi; haqiqiy dasturda frameworkning sinovdan o‘tgan mexanizmidan foydalaning.

Python’da ko‘rib chiqamiz

from hmac import compare_digest
expected = "training-csrf-token"
received = "wrong-token"
print(compare_digest(expected, received))

Misolni

Mustaqil mashq

Portal formasida CSRF hidden field borligini tekshiring, token qiymatini saqlamang. Django test klientida tokensiz POST 403 bo‘lishini sinov rejasiga yozing.

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.

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

Natijani tahlil qiling

Tokenlar mosmi? Python mantiqiy qiymatini kiriting.

Yordamchi ishora

Ikki satr turlicha.

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. GET orqali hisobni o‘chirish nega noto‘g‘ri?
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