Express.js ile CORS Yapılandırma Rehberi

Express.js ile CORS Yapılandırma Rehberi


Gelişen web uygulamaları, tarayıcıların güvenlik politikaları nedeniyle birden fazla köken (origin) üzerindeki kaynaklara erişim sağlamak için CORS (Cross-Origin Resource Sharing) mekanizmasına ihtiyaç duyar. Express.js, bu tür yapılandırmalar için oldukça esnek bir altyapı sunar. Bu makalede, Express.js uygulamanızda CORS yapılandırmasını nasıl gerçekleştirebileceğinizi adım adım öğreneceksiniz.

CORS Nedir?

CORS, farklı kökenlerden gelen kaynakların (örneğin, bir web sayfasının API çağrıları yapabilmesi) tarayıcılar tarafından kontrol edilmesini sağlar. Örneğin, eğer bir uygulama `www.example.com` üzerinde çalışıyorsa ve `api.example.com` adresinden veri çekmeye çalışıyorsa, tarayıcı bunu güvenlik nedeniyle sınırlayabilir. CORS, sunucunun belirli kökenlerden gelen taleplere cevap vermesine izin vermek için kullanılır.

Express.js ile CORS Nasıl Yapılandırılır?

Express.js üzerinde CORS yapılandırması oldukça basittir ve çoğunlukla `cors` paketi ile gerçekleştirilir. İlk olarak, bu paketi projenize eklemeniz gerekiyor:

npm install cors

CORS Paketinin Kullanımı

Kurulumdan sonra, aşağıdaki gibi Express uygulamanızda kullanabilirsiniz:

const express = require('express');
const cors = require('cors');

const app = express();

// CORS yapılandırması ekle
app.use(cors());

app.get('/api/data', (req, res) => {
    res.json({ message: 'CORS yapılandırması başarılı!' });
});

const PORT = process.env.PORT || 3000;
app.listen(PORT, () => {
    console.log(`Server ${PORT} portunda çalışıyor`);
});

Yukarıdaki örnekte, `cors` middleware'i ile tüm kökenlerden gelen isteklere açık bir API oluşturduk. Ancak, CORS ayarlarını daha da özelleştirebilirsiniz. Örneğin, yalnızca belirli bir kökenin erişimine izin vermek için şu şekilde yapılandırabilirsiniz:

const corsOptions = {
    origin: 'https://allowed-origin.com',
    optionsSuccessStatus: 200 // bazı eski tarayıcılar için
};

app.use(cors(corsOptions));

Sonuç

CORS, modern web uygulamalarının güvenli bir şekilde veri paylaşmasına olanak tanır. Express.js ile CORS yapılandırması oldukça basit olup, ihtiyacınıza göre özelleştirilebilir. Bu makalede temelleri öğrendikten sonra, proje gereksinimlerinize göre CORS ayarlarınızı daha fazla geliştirebilir ve uygulamanızı daha güvenli hale getirebilirsiniz.