Aynı kaynak politikası

Mariko Kosaka

Aynı kaynak politikası, bir kaynaktaki dokümanlar ve komut dosyaları, kaynaklarla etkileşime geçebilir diğer bir kaynak.

Bir tarayıcı, birden fazla sitedeki kaynakları aynı anda yükleyip görüntüleyebilir. Projede aynı anda birden çok sekme açık olabilir veya bir site şuradan birden fazla iframe yerleştirebilir: olabilir. Bu öğeler arasında etkileşim için herhangi bir kısıtlama yoksa bir komut dosyası saldırgan tarafından ele geçirilirse, komut dosyası kullanıcının tarayıcısında her şeyi görünür hale getirmelidir.

Aynı kaynak politikası, kaynaklar arasında yer almalısınız. "Ama bir dakika," “Resimleri yüklüyordum. ve diğer kaynaklardan komut dosyaları her zaman kullanılır." Tarayıcılar, bazı etiketlerin başka bir kaynak ekleyin. Bu politika çoğunlukla geçmişe ait ve sitenizi tıklama korsanlığı gibi güvenlik açıklarına maruz iframe'ler. Kaynaklar arası okumayı kısıtlayabilirsiniz. İçerik Güvenliği kullanarak bu etiketlerin Politika.

Hangi kaynaklar aynı kaynak olarak kabul edilir?

Kaynak, şema (protokol olarak da bilinir. Örneğin, HTTP veya HTTPS), bağlantı noktası (belirtilmişse) ve ana makine. Üçü de aynı olduğunda her iki URL için de aynı kaynak kabul edilir. Örneğin, http://www.example.com/foo ile aynı kaynak http://www.example.com/bar ancak https://www.example.com/bar değil çünkü şema farklı.

Nelere izin verilir ve neler engellenir?

Genel olarak, bir merkezler arası kaynak engellendi.

iframe'ler X-Frame-Options yönergesine bağlı olarak kaynaklar arası yerleştirmeye genellikle izin verilir ancak kaynaklar arası okuma (iframe'deki bir dokümana erişmek için JavaScript kullanma gibi) uygun değildir.
CSS Kaynaklar arası CSS, CSS dosyasında <link> öğesi veya @import kullanılarak yerleştirilebilir. Doğru Content-Type başlığı gerekebilir.
formlar Kaynaklar arası URL'ler, form öğelerinin action özellik değeri olarak kullanılabilir. Bir web uygulaması, kaynaklar arası hedefe form verileri yazabilir.
görseller Çapraz kökenli resimlerin yerleştirilmesine izin verilir. Ancak, kaynaklar arası görüntü verilerinin okunması (ör. JavaScript kullanarak kaynaklar arası bir resimden ikili veriler almak) engellenir.
multimedya Kaynaklar arası video ve ses, <video> ve <audio> öğeleri kullanılarak yerleştirilebilir.
alfabe Kaynaklar arası komut dosyaları yerleştirilebilir. Ancak belirli API'lere erişim (kaynaklar arası getirme istekleri gibi) engellenebilir.

YAPILACAKLAR: DevSite - Değerlendirme ve Kontrol Etme

Tıklama Saldırısı nasıl önlenir?

tıklama korsanlığı
Şekil: 3 ayrı katmanda (ana site, iframe uygulanmış site, şeffaf düğme).

"Tıklama korsanlığı" adı verilen bir saldırı bir siteyi iframe içine yerleştirir ve yer paylaşımlı farklı bir hedefe yönlendiren şeffaf düğmelerdir. Kullanıcılar kandırılıyor uygulamanıza veri gönderirken uygulamanıza eriştiklerini belirler.

Diğer sitelerin sitenizi bir iframe'e yerleştirmesini engellemek için içerik ekleyin frame-ancestors ile güvenlik politikası yönerge ekler.

Alternatif olarak, HTTP üstbilgilerine X-Frame-Options ekleyebilirsiniz. MDN seçeneğini tıklayın.

Son adım

Umarım tarayıcıların size destekçi olmak için çok çalıştığı için rahatlamışsınızdır. çok önemli bir parçasıdır. Tarayıcılar erişimi engelleyerek güvende olmaya çalışsa da bazı durumlarda web sitenizdeki kaynaklar arası kaynaklara erişmek isteyebilirsiniz. izin verir. Bir sonraki kılavuzda Kaynaklar Arası Kaynak Paylaşımı hakkında bilgi edinin. (CORS) öğrenin ve çapraz kaynak kaynak yüklemenin tarayıcıya nasıl söyleneceğini öğrenin güvenilir kaynaklardan izin verildi.