ASP.Net Core Projelerinde Güvenlik-CORS Uygulamaları-2

Herkese Merhabalar,

Önceki yazımda ASP.Net Core projelerinde CORS ile ilgili uygulamalar yapmıştık. Bu yazımda da uygulamalara devam edeceğiz. Faydalı olması dileğiyle . 🙂

  • Geçen yazımızda default bir policy oluşturmuştuk. Bu sefer Option üzerinden bir kural ekleyerek sadece bizim izin vereceğimiz siteler tarafından tetiklenebilecek bir key yapısı oluşturacağız.

Peki yukarıda tanımladığımız işlem ne anlama geliyor ?

  • “AllowSites”, builder üzerinden bir sınıf oluşturur.
  • Bu sınıf üzerinden AllowAnyOrigin demek yerine, belli bir orjinden gelen URL’lere izin verebilmek için WithOrigins kullanılır.
  • WithOrigins metodu içerisine, istenilen Domainlerin isimlerini yan yana yazabiliriz.
  • Test işlemleriniz için önceki yazınızda oluşturmuş olduğunuz Web Application’un URL’ini yazabilirsiniz
  • AllowAnyHeader metotunu kullanarak, herhangi bir Header alabileceğinizi belirtmiş olursunuz.
  • AllowAnyMethod metotunu kullanarak, GET, POST, PUT vb. tüm metotların kabul edilebileceğini belirtmiş olursunuz.

AddPolicy eklerken AllowAnyHeader yerine özel bir header eklemek istersek, WithHeader metotunu kullanmamız gerekir. Bu metot iki parametre almaktadır. Birincisi ContentType tipi, ikincisi ise Content Type olarak ne alacağımızdır.

Nasıl bir Domain’den istek gelirse gelsin, Subdomain’i ne olursa olsun izin ver demek istersek aşağıdaki gibi bir kod bloğu yazmamız gerekir. Bu kısımda, example.com sabittir ama Subdomain değişebilir olmalıdır.

  • Aşağıdaki gibi yazdığımız takdirde; api-test.example.com , api-prod.example.com ikisi de ulaşabilir hale gelmiş olur.

https://github.com/KardelRuveyda/ASPNetSecurity kodları Github ‘da oluşturduğum Repository’den inceleyebilisiniz.

Kaynakça