Web geliştirme dünyasında, bir ön uç uygulaması ile bir arka uç API'si arasındaki güvenli iletişimi sağlamak çok önemlidir. Cross-Origin Resource Sharing (CORS), web tarayıcılarının, ilk web sayfasını sunan alan adından farklı bir alan adına yapılan istekleri nasıl ele aldığını yöneten kritik bir güvenlik mekanizması olarak hizmet eder.
Aşağıdaki butona tıklayarak Apidog hakkında daha fazla bilgi edinin!
CORS yapılandırmalarını anlamak ve etkili bir şekilde test etmek, sorunsuz bir API geliştirme için esastır. Bu makale, Postman CORS Testi kavramını derinlemesine inceleyerek, geliştiricileri bu işlevselliği popüler API geliştirme platformunda nasıl kullanacakları konusunda kapsamlı bir anlayışla donatır.
CORS Nedir?
Cross-Origin Resource Sharing (CORS), web tarayıcıları tarafından, bu tür çapraz kaynak istekleriyle ilişkili potansiyel güvenlik risklerini azaltmak için uygulanan bir web güvenliği kavramıdır. Varsayılan olarak, tarayıcılar bir web sayfasının, sayfayı sunan alan adından farklı bir alan adına istek yapmasını kısıtlar. Bu, kötü amaçlı komut dosyalarının bir alan adından başka bir alan adındaki hassas verilere erişmesini engeller.
CORS'un Temel Öğeleri
Origin
Bir isteğin kaynağı, üç bölümün birleşimidir: protokol (https gibi), ana bilgisayar adı (örneğin, www.example.com) ve bağlantı noktası numarası (genellikle standart web trafiği için 80). Esasen bir isteğin nereden kaynaklandığını tanımlar. Örneğin, https://www.example.com:8080 tam bir kaynak dizesidir.
Ön İstekler
"Önleyici" olarak kabul edilen belirli HTTP yöntemleri (örneğin, OPTIONS, GET, HEAD) için, tarayıcılar gerçek istekten önce bir ön istek (OPTIONS) gönderebilir. Bu ön istek, belirli bir isteğe izin verilip verilmediğini sunucuya soran bir keşif gibi davranır.
CORS Başlıkları
Sunucular, çapraz kaynak isteğine izin verilip verilmediğini belirtmek için yanıtlarına belirli HTTP başlıkları ekleyebilir. Bu başlıklar, izin verilen etkileşimin çeşitli yönlerini tanımlar:
- Access-Control-Allow-Origin: Bu başlık, kaynağa erişime izin verilen kaynakları belirtir. Belirli bir alan adı (
https://www.example.com
gibi) veya tüm kaynaklara izin vermek için bir joker karakter (*
) olabilir (genellikle güvenlik nedeniyle önerilmez). - Access-Control-Allow-Methods: Bu başlık, CORS istekleri için izin verilen HTTP yöntemlerini (GET, POST, PUT, DELETE, vb.) tanımlar.
- Access-Control-Allow-Headers: Bu başlık, CORS istek başlıklarına (örneğin,
Content-Type
,Authorization
) dahil edilebilecek HTTP başlık alanlarını belirtir. - Access-Control-Allow-Credentials: Bu başlık, CORS isteklerine kimlik bilgilerinin (çerezler veya yetkilendirme belirteçleri gibi) dahil edilmesine izin verilip verilmediğini gösterir. Değer genellikle
true
veyafalse
olarak ayarlanır.
Basit İstekler ve Ön İstekler
HTTP yöntemine, kullanılan başlıklara ve kimlik bilgilerinin varlığına bağlı olarak, CORS istekleri basit istekler veya ön istekler olarak kategorize edilebilir. Basit istekler bir ön istek tetiklemezken, ön istekler tetikler ve sunucunun bu tür bir çapraz kaynak etkileşimine izin vermesini sağlar.
CORS Testinin Amaçları
CORS testi, bir web tarayıcısının, ilk web sayfasını sunan alan adından farklı bir alan adına (kaynak) yapılan istekleri nasıl ele aldığını doğrulamak için kullanılır. Bu, kaynaklara güvenli ve amaçlandığı gibi erişilmesini sağlar. İşte temel amaçlarının bir dökümü:
API Erişilebilirliğini Sağlama
Modern web uygulamaları genellikle ayrı alan adlarında barındırılan API'lere dayanır. CORS testi, geliştiricilerin ön uç uygulamalarının (bir alan adında çalışır) CORS kısıtlamalarıyla karşılaşmadan arka uç API'sine (farklı bir alan adında) başarıyla erişebildiğini ve etkileşim kurabildiğini doğrulamasına yardımcı olur.
CORS Sorunlarını Ayıklama
Bir ön uç uygulaması, bir arka uç API'sinden veri getirirken sorun yaşarsa, CORS yanlış yapılandırmaları suçlu olabilir. CORS testi, ön ucun bakış açısından istekleri simüle ederek ve sunucunun yanıt başlıklarını analiz ederek bu sorunları tespit etmeye yardımcı olur.
CORS Yapılandırmasını Doğrulama
Bir arka uç sunucusunda CORS yapılandırılırken, CORS testi başlıkların doğru ayarlanıp ayarlanmadığını doğrulamak için bir yol sağlar. Geliştiriciler, sunucunun istenen CORS politikasına göre uygun şekilde yanıt verdiğinden emin olmak için farklı kaynaklar, yöntemler ve başlıklarla test edebilirler.
Güvenlik Açıklarını Önleme
Yanlış CORS yapılandırmaları güvenlik açıklarına neden olabilir. CORS'u test ederek, geliştiriciler potansiyel zayıflıkları belirleyebilir ve yalnızca yetkili kaynakların hassas kaynaklara erişebilmesini sağlayabilirler.
Postman'de CORS Testi Yapma Adım Adım Kılavuzu
Adım 1 - Bir Postman Hesabı Oluşturun
İlk olarak, yeni bir Postman hesabı oluşturmanız (yalnızca bir hesabınız yoksa) ve Postman uygulamasını cihazınıza indirmeniz gerekir. Uygulama, web sürümüne kıyasla daha fazla fayda sağlar.

Adım 2 - Postman'de Yeni Bir API İsteği Oluşturun

Postman'i yükledikten sonra, Postman penceresinin sol üst köşesindeki Yeni
düğmesini tıklayarak yeni bir istek oluşturun. Yeni bir istek oluşturmak için HTTP İsteği
'ni seçin, yukarıdaki resimde gösterildiği gibi.
Adım 3 - API Yöntemini ve Ayrıntıları Girin
Ardından, oluşturmak istediğiniz API isteğinin ayrıntılarını eklemeniz gerekir. URL, HTTP yöntemleri ve API'nin gerektireceği ek parametreler gibi bileşenleri içermelidir.

Adım 4 - API İstek Başlığını Yapılandırın

Başlıklar
bölümünde, "Origin" adlı bir Anahtar
ve değer olarak temel URL'yi içeren yeni bir başlık ekleyin. Bu "Origin" Anahtar
değeri, bir çapraz kaynak isteği sırasında tarayıcı tarafından gönderilen başlığı simüle etmek için kullanılacaktır.
Adım 5 - API Yanıt Başlığını Görüntüleyin

Yukarıdaki resimde görüldüğü gibi, başlık bölümünde ilgili CORS başlıklarını kontrol edebilirsiniz.
Apidog - CORS Testini ve Daha Fazlasını Çalıştırın
Apidog, API'leri oluşturmanıza, test etmenize, sahte yapmanıza ve belgelemenize olanak tanıyan mükemmel bir API geliştirme platformudur. Apidog ayrıca çok adımlı test senaryoları - test senaryoları - sağlayarak API'lerinizin sorunsuz çalışmasını sağlar.

Apidog Kullanarak API'leri Test Etme

İlk adım, test etmek istediğiniz belirli API uç noktasını girmektir. Test ettiğiniz belirli API için gerekirse parametreler gibi ek ayrıntıları ekleyin.
Bir URL'de birden fazla parametre kullanma konusunda emin değilseniz, bu makale (bağlantı dahil değildir) daha büyük veri kümeleri içindeki tam kaynağa nasıl ulaşacağınız konusunda size rehberlik edebilir!

Apidog Kullanarak API'niz İçin Test Senaryolarını Kullanma
API'nizi günlük durumlarda kullanıldığı gibi test etmek ister misiniz? Apidog'un test senaryosu özelliği, gerçek dünya etkileşimlerini taklit eden karmaşık test senaryoları oluşturmanıza olanak tanır.

İlk olarak, Test Etme
düğmesine ve ardından + Yeni Test Senaryosu
düğmesine tıklayın.

Apidog, yeni test senaryonuz için ayrıntıları doldurmanızı isteyecektir. İşlevinin tahmin edilebilir olması için uygun bir ad verdiğinizden emin olun.

Adım Ekle
bölümüne tıklayarak test senaryolarınıza bir adım (veya daha fazla adım) eklemeye devam edin. Aşağıdaki görüntüyü görebilmelisiniz.

Açılır menüden "API'den İçe Aktar"ı seçin.

Ardından, test senaryonuzda dahil etmek istediğiniz tüm API'leri seçin. Yukarıdaki örnekte, NumberConversionSOAP
adlı API dahil edilmiştir.

Test senaryonuzu başlatmak için Çalıştır
düğmesine basmadan önce, Ok 1 tarafından belirtildiği gibi, test senaryosu ortamını Test Ortamı
olarak değiştirdiğinizden emin olun.

API'nizin performansını analiz ederek, güçlü ve zayıf yönleri hakkında değerli bilgiler edinirsiniz. Bu bilgi, API'nizi bir sonraki geliştirme aşamasında nasıl iyileştireceğiniz konusunda bilinçli kararlar almak için anahtardır.
Sonuç
Postman CORS Testi, geliştiricilere ön uç uygulamaları ile arka uç API'leri arasındaki sorunsuz iletişimi sağlamak için kullanıcı dostu ve etkili bir araç sunar. CORS temellerini anlayarak ve Postman'in test yeteneklerinden yararlanarak, geliştiriciler geliştirme iş akışlarını kolaylaştırabilir, CORS yanlış yapılandırmalarını belirleyip düzeltebilir ve sonuç olarak güvenli ve sağlam web uygulamaları oluşturabilirler.
Geliştiriciler, uygun CORS yapılandırması ve testi sayesinde, API'lerinin amaçlandığı gibi çalıştığını, tarayıcı güvenlik mekanizmalarına uyduğunu ve yetkili kaynaklardan sınırsız erişim sağladığını garanti edebilirler. Bu makalede özetlenen adımları izleyerek ve Postman CORS testini geliştirme süreçlerine entegre ederek, geliştiriciler daha güvenli ve verimli bir web geliştirme deneyimi sağlayabilirler.