Sitenizin CORS Politikası tarafından engellendiğinde yada htaccess Access Control Allow Origin hatası aldığınızda yapmanız gerekenler

Merhaba Arkadaşlar, Eğer sitenizde CORS politikası tarafından bloke edilmiştir, engellenmiştir, htaccess Access Control Allow Origin, XmlRequest Cors, İframe Blocked Cors Policy gibi hatalar aldığınızda nasıl çözeceğimizi anlatacağım. 

Öncelikle bu Cors Politikası nedir? 

CORS (Cross-Origin Resource Sharing) kökenler arası kaynak paylaşımı anlamına gelirken, farklı sunucularda barındırılan bu gibi kaynakların ek alan adları ile teslim alınmasına izin veren bir mekanizmadır. Güvenlik önlemleri nedeni ile ek alan adı kullanılarak farklı Originlerden içerik teslim alımını engelleyen Same-Origin-Policy (SOP)nin kısıtlamalarını yasal yöntemler ile esnetmeyi amaçlar.

Neden CORS Hataları alırız?

Sitemizde yayınladığımız, Paylaştığımız iframe, embed, token, sosyal medya üyelik işlemleri facebook login gibi, yorum yapma, sitenize hazır kod, yada script eklediğinizde, özellikle xmlrequest istekleri, Rest api, json vb daha aklıza dahi gelmeyecek bir sürü detayları var.

Cors Politikası aslında güvenilirliği, tarayıcı denetimlerini, çerezleri, Dns ve ip blocklarını ve daha bir çok şeyi denetler eğer kötü yazılımlar barındırıyor yada farkında olmadan sitenize eklenmiş yada eklemiş olabilme durumlarınla ortaya çıkar ve prosedürlerine uygun hareket ederek engelleme blocklama özelliğine sahiptir.

Öncelikle aslında faydalı bir durumdur. Sitenizde güvenliği sağlamanız gerektiğini bildirir.

CORS Hataları aldığımızda neler yapmalıyız?

1) Server tarafında

2) Yazılım Kodlama Tarafında

3) Htaccess / web.config Tarafında

Ben her 3 konuda çözümlerini anlatacağım sizin hangisi işinize yarıyorsa onu kullanırsınız. Çünkü Cors bir çok farklı neden ile engelleme yaptığı için konusuna göre çözümlemeleri mevcut bazen tek satır bir kod ile çözümü var. 

Cors Hata Çözümleri

1) Server/Sunucu Tarafında yapacaklarımız.(Linux Server üzerinden)

 -- Terminal ile sunucumuza bağlanıp aşardaki kodları uygulayalım

sudo apache2ctl -M
sudo a2enmod headers
sudo service apache2 restart

2) Yazılım Kodlama Tarafında yapacaklarımız

 -- İstek gönderip veri çektiğiniz. sayfaların En başa gelecek şekilde Rest-Api, XmlRexuest Ajax İşlemleri sayfaları gibi düşünün.

   //@header('Content-type: application/json; charset=utf-8');//json encode için gerekli
   //@header('Access-Control-Allow-Origin: *');

3) Htaccess/web.config Tarafında yapacaklarımız

 a-- Htaccess ile Linux tabanlı platformalar içindir

   
        Allow from all
        Header add Access-Control-Allow-Origin "*"
        Header add Access-Control-Allow-Headers "origin, x-requested-with, content-type"
        Header add Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS"
    

 b-- web.config ile microsoft tabanlı platformlar içindir.

  
   
     
       
     
   
  

Cors Sorunlarını ve çözümlerini anlatmaya çalıştım umarım karşılaştığınızda faydası olur. Eğer çözemediğiniz bir durumda yorum veya mesaj gönderebilirsiniz.

 

Görüş Hata Bildir

Güvenlik Kodunuz:

Yorum Yap

Yorum kodunuz:

DMCA.com Protection Status
0.0361