Origin uchligi
Origin — scheme, host va port. Path origin qismi emas. https://lab.local/a va /b bir originda; http yoki boshqa port bo‘lsa boshqa origin. Same-origin policy brauzerda begona origindagi javobni o‘qishni cheklaydi.
CORS vazifasi
CORS serverga ayrim originlarga javobni brauzerdan o‘qishga ruxsat berish imkonini beradi. U autentifikatsiya yoki CSRF o‘rnini bosmaydi. Cookie bilan ishlaganda aniq origin, credentials va preflight siyosati kerak; wildcard’ni barcha vaziyatga qo‘llamang.
Himoya qatlamlari
CSP script va resurs manbalarini cheklaydi. X-Content-Type-Options noto‘g‘ri MIME taxminini kamaytiradi. Frame-ancestors sahifani boshqa frame ichida ochishni boshqaradi. Har bir header’ni talabga mos sozlang; yoqilgan header biznes mantiqi xavfsizligini isbotlamaydi.
Python’da ko‘rib chiqamiz
from urllib.parse import urlsplit
def origin(url):
p = urlsplit(url)
port = p.port or (443 if p.scheme == "https" else 80)
return p.scheme, p.hostname, port
print(origin("https://lab.local/a") == origin("https://lab.local:443/b"))Misolni
Mustaqil mashq
HTTP va HTTPS, port 443 va 8443 uchun origin natijalarini taqqoslang. DevTools’da portal CSP headerini o‘qing. CORS va CSRF farqini ikki jumlada yozing.