FastAPI ile Stok Takip Sistemi: CORS (Cross-Origin) Hatası Kesin Çözümü

0 Cavablar 10 Baxış
·
İştirakçılar
Mövzunu Açan #0
İnternet uygulamalarında farklı alan adları veya portlar arasında veri alışverişi yaparken karşılaşılan CORS (Cross-Origin Resource Sharing) hatası, genellikle güvenlik politikaları nedeniyle ortaya çıkar. FastAPI ile geliştirilmiş bir stok takip sistemi üzerinde çalışırken, özellikle frontend ve backend farklı sunucularda veya portlarda çalışıyorsa, bu hatayla sıkça karşılaşmak mümkündür. Bu durumda, tarayıcı güvenlik önlemleri nedeniyle API'ye yapılan cross-origin istekleri engellenir.

Bu sorunu çözmek için ilk adım, FastAPI uygulamasına uygun CORS middleware'ini entegre etmektir. FastAPI, bu işlemi kolayca yapmanızı sağlayan fastapi.middleware.cors.CORSMiddleware modülünü sunar. Bu middleware, belirli origin'lere izin vererek, API'nize gelen cross-origin isteklerini güvenli bir şekilde kabul etmenize imkan tanır.

Öncelikle, middleware'i uygulamanıza eklemeden önce, izin verilen origin'leri belirlemeniz gerekir. Örneğin, yalnızca http://localhost:3000 ve https://myfrontend.com adreslerinden gelen istekleri kabul etmek istiyorsanız, aşağıdaki gibi yapılandırabilirsiniz:

CODE
123456789101112131415161718
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware

app = FastAPI()

origins = [
    "http://localhost:3000",
    "https://myfrontend.com"
]

app.add_middleware(
    CORSMiddleware,
    allow_origins=origins,
    allow_credentials=True,
    allow_methods=["*"],
    allow_headers=["*"],
)


Burada dikkat edilmesi gereken noktalar şunlardır:
  • allow_origins listesine, API'ye erişmesini istediğiniz domain veya portları ekleyin.
  • allow_methods=["*"] ile tüm HTTP metodlarına izin verebilir veya belirli metodları belirtebilirsiniz (GET, POST, PUT, DELETE).
  • allow_headers=["*"] ile bütün header'lara izin verilir; güvenlik açısından sadece gerekli olanlar ile sınırlandırmak daha iyidir.


Bunun dışında, CORS hatasını çözdükten sonra, API'nizin düzgün çalıştığını test etmek önemlidir. Frontend'den API'ye yapılan isteklerde, tarayıcının konsolunda herhangi bir CORS hatası görünmeyecektir. Ayrıca, API loglarını kontrol ederek, gelen isteklerin uygun şekilde kabul edildiğini doğrulayabilirsiniz.

Son olarak, geliştirme ortamında bu ayarları yaparken, üretim ortamında daha sıkı güvenlik politikaları uygulamak önemlidir. Yalnızca güvenilir domain'leri izin listesine eklemek, sisteminizin güvenliğini artırır.

Bu adımlar, FastAPI tabanlı stok takip sisteminizdeki CORS hatasını kalıcı ve güvenli biçimde çözmek için yeterlidir.

Cavab vermək üçün daxil olmalısınız.

0 sitat seçildi