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.
[php]
composer req cors
[/php]

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.
[php]
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:
‘^/’: ~
[/php]

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.
[php]
CORS_ALLOW_ORIGIN=^https?://localhost(:[0-9]+)?$
[/php]
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.
[php]
CORS_ALLOW_ORIGIN=
[/php]

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

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

Cem Karakurt:

Yorumları gör (2)

  • Cem bey merhaba bir kaç şey sormam gerekiyor acaba sosyal
    Medya üzerinden iletişime geçebilir miyiz? Instagram hesabını buraya yazmak isterdim fakat, Malum nedenlerden dolayı yazamıyorum.
    Siz yazarsanız sevinirim şimdiden teşekkürler

    • instagram @ickarakurt üzerinden ulaşabilirsiniz. Mail atarsanız daha iyi olabilir. Üst menüdeki iletişim kısmına tıklarsanız mail adresimi görebilirsiniz.