# HTTPS va web xavfsizligi asoslari

> HTTPS, TLS va sertifikat qanday ishlaydi? XSS, CSRF, CORS, foydalanuvchi ma'lumotini tekshirish va web xavfsizligining asosiy qatlamlari haqida.

Manba: https://learncode.uz/web-dasturlash/https-web-xavfsizligi/
Sana: 2026-05-09

![Brauzer va server o'rtasidagi HTTPS aloqa sertifikat va shifrlash bilan himoyalanishi](https://learncode.uz/images/web-dasturlash/https-web-xavfsizligi-hero.webp)

*HTTPS tarmoqdagi aloqani himoyalaydi, xavfsiz dastur esa bundan tashqari kiruvchi ma'lumot va ruxsatlarni ham tekshiradi.*

[HTTP darsida](https://learncode.uz/web-dasturlash/http-sorov-javob) so'rov va javob qanday
almashinishini ko'rdik. Oddiy HTTP ma'lumotning yo'lda o'qilishi yoki
o'zgartirilishidan yetarli himoya bermaydi. HTTPS shu aloqaga TLS himoya
qatlamini qo'shadi. Ammo web xavfsizligi faqat manzil yonidagi qulf belgisi
bilan tugamaydi.

## HTTPS nimalarni ta'minlaydi

HTTPS uchta asosiy maqsadga xizmat qiladi:

- **maxfiylik** — yo'ldagi ma'lumot shifrlanadi;
- **yaxlitlik** — ma'lumot sezilmasdan o'zgartirilmaganini tekshirish mumkin;
- **serverni tasdiqlash** — sertifikat domen uchun to'g'ri server bilan
  gaplashayotganingizni tekshirishga yordam beradi.

Brauzer serverga ulanishdan oldin TLS kelishuvini bajaradi. Server o'z
sertifikatini yuboradi, brauzer uning domeni, amal qilish muddati va ishonchli
sertifikat markazi zanjirini tekshiradi. So'ng ikki tomon sessiya uchun
kalitlar kelishib oladi va HTTP ma'lumoti shifrlangan kanal orqali o'tadi.

![Brauzer sertifikatni tekshirib, TLS kalitlar kelishuvidan so'ng shifrlangan HTTPS aloqa o'rnatishi](https://learncode.uz/images/web-dasturlash/tls-qol-siqish.webp)

*TLS ulanish boshida server sertifikatini tekshiradi va keyingi HTTP almashinuvi uchun shifrlangan kanal yaratadi.*

> **HTTPS saytning hamma kodini xavfsiz qilmaydi**
>
> HTTPS ma'lumotni tarmoqda himoyalaydi. Agar backend ruxsatni tekshirmasa,
> parolni ochiq saqlasa yoki zararli matnni sahifaga bevosita chiqarsa, HTTPS bu
> xatolarni tuzatmaydi. Xavfsizlik bir nechta qatlamdan iborat.

## Brauzerdan kelgan ma'lumotga ishonmang

Foydalanuvchi formadagi qiymatni, URL parametrini, cookie'ni va HTTP
headerni o'zgartira oladi. Frontend tekshiruvi qulay xato xabari berish uchun
foydali, ammo xavfsizlik qarori backendda qayta tekshiriladi.

Masalan, mahsulot narxi frontendda ko'rsatiladi. Xarid so'rovida brauzer
`narx: 1000` yuborsa ham, backend yakuniy narxni bazadagi ishonchli yozuvdan
olishi kerak. Aks holda foydalanuvchi so'rovni o'zgartirib, narxni o'zi
belgilashi mumkin.

## Keng tarqalgan xavflar

### XSS — sahifaga zararli kod kiritish

**Cross-Site Scripting** foydalanuvchi yuborgan matn HTML yoki JavaScript
sifatida xavfsiz bo'lmagan usulda sahifaga qo'yilganda yuz beradi. Himoya
uchun frameworkning avtomatik escaping imkoniyatidan foydalaniladi, kerak
bo'lmasa `innerHTML` ishlatilmaydi va Content Security Policy sozlanadi.

### CSRF — foydalanuvchi nomidan so'rov yuborish

**Cross-Site Request Forgery** foydalanuvchi tizimga kirgan paytda boshqa
sayt uning brauzeridan ruxsatsiz amal yuborishga uringanda yuz beradi.
SameSite cookie, CSRF token va so'rov manbasini tekshirish himoya vositalaridir.

### CORS — qaysi origin javobni o'qishi mumkin

**CORS** brauzerning boshqa origin'dagi resursga JavaScript orqali murojaatini
boshqaradigan HTTP headerlar tizimi. CORS autentifikatsiya o'rnini bosmaydi va
serverni barcha so'rovlardan himoya qilmaydi; u asosan brauzer javobni qaysi
origin kodiga berishini nazorat qiladi.

![HTTPS, ma'lumotni tekshirish, autentifikatsiya, ruxsat va xavfsiz saqlashdan iborat web xavfsizligi qatlamlari](https://learncode.uz/images/web-dasturlash/xavfsizlik-qavatlari.webp)

*Xavfsiz web ilova tarmoq, kiruvchi ma'lumot, identifikatsiya, ruxsat va ma'lumot saqlash qatlamlarini birga himoyalaydi.*

## Boshlovchi uchun xavfsizlik ro'yxati

- Barcha production sahifalarda HTTPS ishlating.
- Foydalanuvchidan kelgan qiymatni serverda tekshiring.
- Parolni ochiq emas, mos parol xeshlash algoritmi bilan saqlang.
- Maxfiy kalitlarni frontend yoki Git repozitoriyga yozmang.
- Ma'lumotlar bazasida parametrli so'rov yoki ishonchli ORM ishlating.
- Har bir backend amalida foydalanuvchining ruxsatini tekshiring.
- Kutubxonalarni yangilab boring va keraksiz bog'liqlikni olib tashlang.
- Xato xabarida stack trace, parol yoki server siri kabi ma'lumotni chiqarmang.

> **Tahdidni toping**
>
> Admin sahifasining tugmasi oddiy foydalanuvchiga ko'rinmaydi. Bu yetarli
> himoyami? Yo'q. Foydalanuvchi tugmasiz ham HTTP so'rovni qo'lda yubora oladi.
> Backend har bir admin route'ida rol va ruxsatni alohida tekshirishi shart.

## Qisqacha xulosa

- HTTPS HTTP ma'lumotini TLS orqali shifrlaydi va serverni tasdiqlaydi.
- HTTPS zarur, ammo backenddagi mantiqiy va xavfsizlik xatolarini tuzatmaydi.
- Brauzerdan kelgan hech bir qiymat avtomatik ishonchli emas.
- XSS, CSRF va noto'g'ri ruxsat tekshiruvi turli himoya usullarini talab qiladi.
- CORS autentifikatsiya emas; u brauzerdagi originlararo o'qishni boshqaradi.
- Xavfsizlik loyiha oxiridagi qo'shimcha emas, har qatlamdagi talabdir.

Keyingi darsda [cookie, session va autentifikatsiya](https://learncode.uz/web-dasturlash/cookie-session-autentifikatsiya)
— sayt foydalanuvchini qanday taniy boshlashini ko'ramiz.
