Sadece mütevazı bir özet:
S: Aynı Kaynak Politikası (SOP) yalnızca tarayıcılar tarafından mı uygulanıyor?
A: Evet. Bir tarayıcı içinde yaptığınız tüm aramalarda, SOP kesinlikle tarayıcı tarafından uygulanır. Sunucu, talebin kaynağını kontrol edebilir veya kontrol etmeyebilir.
S: Bir istek SOP ile uyumlu değilse, tarayıcı onu engelliyor mu?
C: Hayır, tarayıcıların yetkisinin ötesinde. Tarayıcılar sadece çapraz orijinli istekler gönderir ve aramanın sunucu tarafından Access-Control- * başlıkları aracılığıyla okunaklı olup olmadığını görmek için yanıtı bekler . Sunucu Access-Control-Allow-Originbaşlığı geri göndermiyorsa , arayanın kaynağını geri göndermiyorsa veya *başlıkta geri göndermiyorsa , tarayıcının yapacağı tek şey, arayan kişiye yanıtı vermekten kaçınmaktır.
S: Adres sahteciliği yapamayacağım anlamına mı geliyor Origin?
C: Tarayıcıda ve komut dosyası kullanırken Origin, tarayıcının kontrolünde olduğu için geçersiz kılamazsınız. Ancak, kendinizi hacklemek istiyorsanız, tarayıcınızdan gelen aramaları, tarayıcı uzantılarını veya makinenize yüklediğiniz diğer araçları kullanarak kurcalayabilirsiniz. Ayrıca verebilir HTTPkullanarak çağrı curl, Python, C#vb ve değiştirmek Originhüner sunucularına başlığını.
S: Öyleyse değiştirerek sunucuyu kandırabilirsem , bu güvenli olmadığı Originanlamına CORSmı gelir ?
C: CORS Kendiliğinden güvenlik konusunda sessizdir - yani taleplerin kimlik doğrulaması ve yetkilendirilmesi. İstekleri incelemek ve tanımlama bilgileri ve başlıklar gibi birlikte çalıştıkları herhangi bir mekanizma ile bunları doğrulamak / yetkilendirmek sunuculara bağlıdır. Bunu söyledikten sonra, XSS gibi saldırılar durumunda bizi biraz daha koruyabilir:
Örnek:
Diyelim ki web sitenizde oturum açtınız ve kötü amaçlı bir komut dosyası, bakiyenizi sorgulamak için bankanızın web sitesine bir istek göndermeye çalışıyor: Yansıyan XSS saldırısı. Bankanızın web sitesi, web sitenizden (burada adına) gelen kimlik bilgilerine güvenir, böylece istek doğrulanır ve HTTPkötü amaçlı koda yönelik bir yanıt verilir. Bankanızın web sitesi uç noktalarını diğer kaynaklarla paylaşmayı umursamıyorsa, içermezAccess-Control-Allow-Originyanıtta başlık. Şimdi, istek geldiğinde, tarayıcı isteğin Cross Origins isteği olduğunu fark eder, ancak yanıt, sunucunun kaynağı (burada denge sorgusu uç noktası) web sitenizle paylaşmaktan memnun olduğunu göstermez. Böylece akışı keser, dolayısıyla döndürülen sonuç asla kötü amaçlı koda ulaşmaz.
foo.com)Access-Control-Allow-Originüstbilgiyi sağlamak zorunda, aksi takdirde tarayıcı isteğe izin vermiyorbar.com.