Neler yeni

CORS nedir?

Jegand

Uzman Üye
Katılım
22 Şubat 2021
Mesajlar
34
Tepkime puanı
30
İlgi Alanlarınız
Web Uygulama Güvenliği
Cinsiyet
  1. Erkek
CORS nedir?

Cross-Origin Resource Sharing (Kökenler arası kaynak paylaşımı)
anlamına gelen CORS, web tarayıcısı tarafından yönetilen ve ek HTTP başlıkları kullanılarak, bir kökende çalışan web uygulamasının, farklı bir kökende yer alan web uygulamasına erişim izni kontrolünü sağlayan mekanizmadır. Web uygulaması, internet tarayıcısı üzerinden farklı bir kökene (protokol, domain ve port) herhangi bir istek gönderirse cross-origin HTTP isteği oluşturmuş olur.

A35608CA-E644-4139-8F9B-CE31991562EE.png

Örneğin, http://domain-a.com üzerinde yer alan bir web uygulamasının JavaScript tarafından ajax isteği göndererek, http://domain-b.com‘a erişmesi bir cross origin isteğidir.

Not: Eğer frontend (browser) tarafından değil de backend tarafından (Örneğin C# koduyla) domain-b.com’a erişseydi bu bir cross origin istek olmayacaktı.

CORS nasıl çalışır?

CORS’u açıklamak için öncelikle prefilight’ı (önceden kontrol için yapılan HTTP isteğini) tetiklemeyen ve tetikleyen istekler anlamına gelen simple requests (basit istekler) ve preflighted requests (önceden kontrollü istekler) terimlerini açıklamamız gerekiyor.

Basit istekler

Bu istek türü preflight isteğini tetiklemez ve tek bir HTTP isteği halinde gönderilir. Aşağıdaki özelliklerden herhangi birine sahip olması yeterlidir:
  • GET, HEAD ve POST metodu kullanırlar,
  • Fetch Spec’inde yasaklı başlıklar bölümününharicindeki HTTP başlıklarına sahiptirler:
  • Content-Type başlığı için izin verilen değerler:
    • application/x-www-form-urlencoded
    • multipart/form-data
    • text/plain
Not: Burada bulunmayan application/json olan içerik türü direkt olarak preflight’ı tetikliyor.

Örneğin test-cors.org üzerinden jsonplaceholder‘a bir istek gönderirsek, tarayıcı tarafından Origin header’ına test-cors URL’inin otomatik olarak atandığını görebiliriz:

GET /posts HTTP/1.1
Host: https://jsonplaceholder.typicode.com
Origin: https://www.test-cors.org
...


CORS ayarlaması yapılmış sunucu Origin header’ını kontrol eder. Eğer ilgili origin izni var ise Access-Control-Allow-Origin header’ına ilgili origini atar ve aşağıdaki gibi bir response döndürür:

HTTP/1.1 200 OK
Access-Control-Allow-Origin: https://www.test-cors.org
...


116E0F61-4D26-4E68-9C3F-016F79CF035F.png
 

Konuyu görüntüleyen kullanıcılar:

Hukuksal Sorunlar İçin [email protected]
For Legal Problems [email protected]
Hacktivizm.Org
Hacktivizm.Org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Hacktivizm.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Hacktivizm saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Hacktivizm üyelerinin yaptığı bireysel hack faaliyetlerinden Hacktivizm sorumlu değildir. Sitelerinize Hacktivizm ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz. Sitemizde yer alan içerikler hakkındaki şikayetlerinizi Buradan iletişime geçerek bildirebilirsiniz. Please Report Abuse, DMCA, Scamming, Harassment, Crack or any Illegal Activities to [email protected]
Hacktivizm Twitter Hacktivizm Youtube Hacktivizm İnstagram Hacktivizm Telegram