Symfony 4 Cors Bundle Kurulumu

tarafından
Symfony 4 Cors Bundle Kurulumu

Cross Origin Request Sharing ( CORS ) bir siteden başka siteye isteklerin sınırlandırılmasıdır. Örneğin bir siteye girdiniz ve site açıldığında arkaplanda başka bir adresteki backend’e istek atıyor. Böyle bir durumda tarayıcınızın console kısmında “Cross Origin Request Sharing” hatasını görürsünüz. Bu yazıda symfony flex üzerinde cors ayarını nasıl yapacağınızı göstericeğim.

İlk önce kurulumu yapalım. Proje klasöründe terminale aşağıdaki komutu yazın.

composer req cors

Kurulumdan sonra config/packages/nelmio_cors.yaml dosyası projenizde otomatik oluşacaktır . Bu klasör bizim ayar dosyamız . İçeriği aşağıdaki gibi olacaktır.

nelmio_cors:
    defaults:
        origin_regex: true
        allow_origin: ['%env(CORS_ALLOW_ORIGIN)%']
        allow_methods: ['GET', 'OPTIONS', 'POST', 'PUT', 'PATCH', 'DELETE']
        allow_headers: ['Accept','Authorization','Cache-Control','Content-Type','DNT','If-Modified-Since','Keep-Alive','Origin','User-Agent','X-Requested-With']
        max_age: 3600
    paths:
        '^/': ~

Yukarıdaki kodda gördüğünüz gibi allow_origin ayarımız .env dosyamızdan geliyor. Proje klasöründeki .env dosyamızı açalım ve aşağıdaki satırı bulalım.

CORS_ALLOW_ORIGIN=^https?://localhost(:[0-9]+)?$

Bu bizim izin projemize uzaktan bağlanmasına izin verdiğimiz adres/adresler oluyor. Bu satırın anlamı localhostta herhangi bir port üzerinden bağlantılara açık. Bu satırı kendinize göre düzenlemeniz gerekiyor. Eğer bütün adreslere açık olmasını istiyorsanız aşağıdaki satırı kullanabilirsiniz.

CORS_ALLOW_ORIGIN=

Kullandığımız paket hakkında daha fazla bilgi almak isterseniz : https://github.com/nelmio/NelmioCorsBundle

İlginizi Çekebilir :   PHP password_hash Kullanımı

Herhangi bir sorunuz varsa yorum kısmından sorabilirsiniz.