v2.5.2
Giriş yap

Cors Hatası - Cors'un Standart Protokolü

ynswtf
1,238 defa görüntülendi

Merhaba, Rest API ile server-side'dan client-side'a bilgi almam gerekiyor. Ancak şu cors durumuna takıldım. Bir zamanlar halletmiştim bu olayı ama notlarımı bulamıyorum. Şimdi de öyle bir anda tıkandım ve standart protokolü uygulamama rağmen Cors hatası vermeye devam ediyor.

Server Side greencheap.net

Client Side localhost:8000

Client'den giden istekdeki bilgiler şudur:

let http = this.$http.get(urlParam , 
    {
        params:parameter,
        headers: {
            'Content-Type':'application/x-www-form-urlencoded',
            'Accept': 'application/x-www-form-urlencoded',
        }
    }
).catch((err)=>{
    this.$notify(err.status+' '+this.$trans(err.bodyText) , 'danger')
})

Server'dan yanıt

$this->response = new Response();
$this->response->headers->set('Content-Length' , 1728000);
$this->response->headers->set('Content-Type' , 'application/x-www-form-urlencoded');
$this->response->headers->set('Access-Control-Allow-Origin' , '*');
$this->response->headers->set('Access-Control-Allow-Methods' , 'GET');
$this->response->headers->set('Access-Control-Allow-Headers' , 'Content-Type, Accept');
$this->response->headers->set('Access-Control-Max-Age' , 1728000);

Bu şekilde istek attıyorum ama Cors veriyor yinede

Cevap yaz
Cevaplar (2)
ynswtf
1480 gün önce

komik bir şekilde çözdüm Tayfun hocam ama anlayamadığım bir olay var. Ben client tarafında header'a en ufak bir şey eklersem cors'a düşüyor server-side tarafında izin vermeme rağmen. Çözümde ajaxdaki headerları silerek oldu. Gerçekten inanılmaz garip bir olay. Bu durumda ajax'a XmlHttpRequest değerini ekleyemeyeceğim. Bu da güvenlik açığı olacak. Malum postman gibi araçlar kafasına göre girip çıkabiliyor. illet de ne illet ya. Adımı sadece sinir ediyor. Teşekkür ederim yinede

tayfunerbilen
1480 gün önce

bu cors çok illet bir şey ya.. php tarafında kullandığınız sınıf nedir bilmiyorum ancak zaten Access-Control-Allow-Origin tanımlanmış gibi. Sunucu tarafında https://enable-cors.org/server.html buradaki adımlardan birisi uygulanabilir belki.