COMPUTER ENGINEER

Örneklere git
Blog
HTTP / HTTPS / TLS6 dk çalışma
50/ 70

Tarayıcı güvenlik sınırları

CORS, authentication ve CSRF: sınırları birleştirme

Preflight başarılıyken yetki neden reddedilebilir?

AnlaÖrneği inceleKendin uygula

Kavramı anlayalım

CORS browser’ın başka origin yanıtını script’e açma politikasını yönetir. curl veya başka backend istemcisine genel erişim kontrolü koymaz. Preflight OPTIONS, gerçek method ve alanlar için izin sorar; uygulamanın gerçek veri işlemi değildir. Başarılı preflight sonraki GET/POST’un authenticated veya authorized olduğunu kanıtlamaz.

Credential kullanan cross-origin isteklerde frontend credentials davranışı, cookie SameSite/Secure koşulları ve server origin/credentials yanıtı birlikte ele alınır. Credential’lı paylaşımda wildcard origin uygun değildir. Dinamik origin yansıtma sıkı allowlist olmadan risklidir. Güvenilmeyen origin’den gelen cookie taşıyan state-changing isteklere karşı CSRF denetimi ayrıca gerekir; CORS bütün CSRF türlerini tek başına durdurmaz.

Yanıt browser tarafından okunamadığında network panelinde gerçek sunucu sonucunu ve CORS alanlarını incele. 401’in CORS nedeniyle frontend’e görünmemesi teşhisi zorlaştırabilir; hata yanıtlarında da doğru policy uygulanır. OPTIONS’ı login redirect’e çevirmek preflight’ı bozabilir. CORS’ta verilen izin data owner’ına erişim hakkı değildir. Browser güvenlik sınırı, kimlik doğrulama ve resource policy ayrı test edilir.

NERESİNDE KULLANIRSIN?

Next.js browser isteklerinde CORS ve 401 sorunlarını teşhis ederken.

SIK YAPILAN HATA

Origin allowlist’i kullanıcı veya kaynak authorization listesi sanmak.

01 / UYGULAMA

Aynı konu. Üç farklı derinlik.

HTTP / temsili örnek
OPTIONS preflight allowed
GET actual request → 401

Preflight kimliği doğrulamaz.

Bu sayfa dış sunuculara istek göndermez. HTTP mesajları temsili, HTTP/1.1 biçiminde okunabilir gösterimlerdir; HTTP/2 ve HTTP/3 wire formatı değildir. example.test ayrılmış öğretim alan adıdır. Komut ve JavaScript örneklerini yalnız kendi test ortamında uygula; gerçek token veya cookie yayımlama.

02 / SIRA SENDE

Önce kendin dene.

curl CORS alanı olmadan API’ye çağrı yapabiliyor. Bug mı?

Çözümü ve açıklamasını göster
Açıklamalı çözüm
No: CORS is enforced by browsers, not a universal firewall.

Hayır. API kimlik ve yetki denetimini kendisi yapmalıdır.