CORS Test Aracı
Cross-Origin Resource Sharing (CORS) politikalarını ve API isteklerini test edin ve hata ayıklayın
İstek Ayarları
Test için API isteğinizi yapılandırın
Örnek İstekler
Bu önceden tanımlanmış API isteklerini deneyin
CORS Bilgileri
CORS hakkında temel bilgiler
CORS Nedir? CORS (Cross-Origin Resource Sharing), web tarayıcılarının farklı kaynaklardan (farklı domain, protokol veya port) yapılan isteklere tarayıcıda çalışan scriptlerden izin veren bir mekanizmadır.
Temel CORS Başlıkları
Access-Control-Allow-Origin: Kaynağa erişim izni verilen origin'leri belirtirAccess-Control-Allow-Methods: İzin verilen HTTP yöntemlerini belirtirAccess-Control-Allow-Headers: Kullanılabilecek HTTP başlıklarını belirtirAccess-Control-Allow-Credentials: Kimlik bilgilerinin (çerezler, HTTP kimlik doğrulama) dahil edilip edilmeyeceğini belirtir
💡 CORS Çözümleri
Sunucu Tarafı Çözümler
1. Express.js (Node.js):
const cors = require('cors');
app.use(cors({
origin: 'https://example.com',
methods: ['GET', 'POST'],
credentials: true
}));2. Spring Boot (Java):
@CrossOrigin(origins = "https://example.com")
@RestController
public class ApiController { ... }İstemci Tarafı Çözümler
1. Proxy Sunucu Kullanımı:
// package.json (React)
"proxy": "http://localhost:3001"2. JSONP (Sadece GET):
// Sınırlı ama basit çözüm
fetch('api?callback=handleResponse')🔧 Ortama Göre CORS Yapılandırması
Next.js
// next.config.js
module.exports = {
async headers() {
return [
{
source: '/api/:path*',
headers: [
{
key: 'Access-Control-Allow-Origin',
value: '*'
}
]
}
]
}
}Nginx
location /api {
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods
"GET, POST, OPTIONS";
add_header Access-Control-Allow-Headers
"Content-Type, Authorization";
}Apache
# .htaccess
Header always set Access-Control-Allow-Origin "*"
Header always set Access-Control-Allow-Methods
"GET, POST, OPTIONS"
Header always set Access-Control-Allow-Headers
"Content-Type, Authorization"Ortama Göre CORS Yapılandırması
Test Senaryoları
- • Basit İstek: GET istekleri ile temel CORS davranışını test et
- • Preflight İsteği: PUT/DELETE yöntemleri ile preflight isteklerini test et
- • Özel Başlıklar: Authorization başlığı ile istekleri test et
- • Kimlik Bilgileri: Çerezli istekleri test et
- • Hata İşleme: Başarısız senaryoları test et
Güvenlik Değerlendirmeleri
- • Güvenlik riskleri nedeniyle joker (*) kullanımında dikkatli olun
- • En az yetki ilkesi: Sadece gerekli origin'ler ve yöntemler için izin verin
- • Kimlik bilgisi kısıtlamaları: Kimlik bilgileri dahil edilirken sadece belirli origin'lere izin verin
- • Düzenli inceleme: CORS politikalarını düzenli olarak gözden geçirin ve güncelleyin
CORS Hata Ayıklama İpuçları
Tarayıcı Geliştirici Araçları
- • Network sekmesinde OPTIONS isteklerini kontrol edin
- • Console'da CORS hata mesajlarını arayın
- • Response Headers'da CORS başlıklarını doğrulayın
Faydalı Araçlar
- • CORS Test Aracı (bu araç)
- • Postman (API testi için)
- • curl komutu (doğrudan sunucu testi için)