FastAPI CORS Güvenlik Yapılandırması

0 Yanıt 1 Görüntülenme
Puanlayanlar
Katılımcılar
Konuyu Açan #1
İnternet üzerindeki modern web uygulamaları, farklı alan adlarından gelen talepleri yönetirken güvenlik ve erişim kontrolü açısından CORS (Cross-Origin Resource Sharing) mekanizmasını dikkate almak zorundadır. FastAPI, bu konuda yerleşik ve esnek bir yapı sunarak, API’lerinizi güvenli ve kontrollü hale getirmenize imkan sağlar.

CORS, temel olarak farklı alan adları veya portlar üzerinden yapılan HTTP isteklerinin, sunucu tarafından kabul edilip edilmemesini belirleyen bir güvenlik politikasını ifade eder. Bu yapı, özellikle API’lerinizi sadece belirli alan adlarına açmak istediğinizde kritik hale gelir.

FastAPI’de CORS yapılandırması, [fastapi.middleware.cors.CORSMiddleware] sınıfı kullanılarak gerçekleştirilir. Bu middleware; hangi alan adlarına izin verileceği, hangi HTTP metodlarının kullanılabileceği, hangi başlıkların gönderilip alınabileceği gibi detayları belirlemenizi sağlar.

Örneğin, sadece örnek.com ve api.ornek.com domainlerine izin vermek istediğinizde aşağıdaki gibi yapılandırabilirsiniz:

KOD
123456789101112131415161718python
from fastapi import FastAPI
from starlette.middleware.cors import CORSMiddleware

app = FastAPI()

origins = [
    "https://ornek.com",
    "https://api.ornek.com"
]

app.add_middleware(
    CORSMiddleware,
    allow_origins=origins,
    allow_credentials=True,
    allow_methods=["GET", "POST", "PUT"],
    allow_headers=["Content-Type", "Authorization"]
)


Burada dikkat edilmesi gereken noktalar şunlardır:
  • allow_origins: İzin verilen alan adlarını listeler. Bu listeyi geniş tutmak veya belirli alan adlarına kısıtlamak mümkündür.
  • allow_methods: Hangi HTTP metodlarının kullanılmasına izin verileceği. Sadece GET ve POST yerine, ihtiyaç duyulan metodlar eklenebilir.
  • allow_headers: Tarayıcıdan gelen istekte hangi başlıkların kabul edileceği. Güvenlik açısından, gereksiz başlıkları engellemek iyi bir uygulamadır.


Ayrıca, allow_credentials=True parametresi, kimlik doğrulama bilgileriyle yapılan isteklerin kabul edilmesini sağlar. Bu durumda, allow_origins listesinin belirli alan adlarıyla sınırlandırılması önemlidir.

FastAPI’de CORS yapılandırması, uygulamanın güvenliğini artırırken, farklı alan adlarıyla çalışan front-end uygulamalarına da esneklik sağlar. Güvenlik ve erişim ihtiyaçlarınız doğrultusunda, bu ayarları dikkatle yapılandırmak, API’nizin hem fonksiyonelliğini hem de güvenliğini korumanın anahtarıdır.

Yanıt vermek için giriş yapmış olmalısınız.

0 alıntı seçildi