Varsayılan olarak, CORS çapraz kökenli taleplerde çerez içermez. Bu JSON-P gibi diğer çapraz kökenli tekniklerden farklıdır. JSON-P her zaman isteği içeren çerezler içerir ve bu davranış siteler arası istek sahteciliği veya CSRF adı verilen bir güvenlik açığı sınıfına yol açabilir .
CORS'deki CSRF güvenlik açıklarının olasılığını azaltmak için, CORS hem sunucunun hem de istemcinin isteklere çerez eklemenin uygun olduğunu kabul etmesini gerektirir. Bunu yapmak, pasif bir şekilde kontrol olmadan gerçekleşen bir şey yerine, çerezleri aktif bir karar haline getirir.
İstemci kodu gerekir set withCredentials
mülk XMLHttpRequest
için true
izin vermek için.
Ancak, bu başlık tek başına yeterli değildir. Sunucunun üstbilgiyle yanıt vermesi gerekirAccess-Control-Allow-Credentials
. Bu üstbilgiye yanıt vermek true
, sunucunun çapraz kaynak isteklerine çerezlerin (veya diğer kullanıcı kimlik bilgilerinin) eklenmesine izin verdiği anlamına gelir.
Kaynaklar arası kimlik bilgileri taleplerinin çalışmasını istiyorsanız tarayıcınızın üçüncü taraf çerezlerini engellemediğinden de emin olmanız gerekir .
Aynı kökenli veya çapraz kökenli istekte bulunmanıza bakılmaksızın, sitenizi CSRF'den korumanız gerektiğini unutmayın (özellikle isteğiniz çerezleri içeriyorsa).