COMPUTER ENGINEER

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

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

SOP, CORS ve preflight

Tarayıcı erişim politikası, API yetkisi değildir.

AnlaÖrneği inceleKendin uygula

Kavramı anlayalım

Same-origin policy başka origin’deki veriyi script’in okumasını sınırlar. CORS sunucunun belirli cross-origin okumalara izin verdiği tarayıcı mekanizmasıdır. curl ve backend servisler browser CORS kuralını uygulamak zorunda değildir; bu yüzden CORS bir authentication duvarı değildir.

Bazı safelisted istekler preflight olmadan gönderilir. Tarayıcı daha sonra yanıtı script’e açmayabilir; bu, sunucuda işlemin hiç gerçekleşmediğini göstermez. JSON veya Authorization gibi tercihler çoğunlukla OPTIONS preflight doğurur. Preflight credentials taşımaz.

Credentialed akışta açık izinli origin ve Access-Control-Allow-Credentials gerekir; wildcard origin uygun değildir. Dinamik origin yansıtmadan önce izin listesi doğrula ve Vary: Origin kullan. Browser’ın third-party cookie politikası ayrıca geçerlidir. CORS hatasını mode:no-cors ile çözmeye çalışmak opaque response üretir, JSON okuma izni yaratmaz.

NERESİNDE KULLANIRSIN?

Next.js ile .NET arasındaki tarayıcı isteklerini doğru kurmak için.

SIK YAPILAN HATA

CORS reddi gördüğünde server hiçbir işlem yapmadı sanmak.

01 / UYGULAMA

Aynı konu. Üç farklı derinlik.

HTTP / temsili örnek
Origin: https://app.example.test

Tarayıcının istek origin’i.

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.

CORS ile API’nin yalnız kendi frontend’in tarafından çağrılmasını garanti edebilir misin?

Çözümü ve açıklamasını göster
Açıklamalı çözüm
CORS ≠ authentication / authorisation

Hayır; kimlik, kaynak yetkisi ve kötüye kullanım kontrolleri gerekir.