Google +1 widget'ı, web sitenizde çalışan ve bir iframe
. Bu JavaScript pencere öğesi, web siteniz bağlamında çalışmaktadır ve bu nedenle iframe'ler için Kaynak Devralma Kuralları tarafından kısıtlanmamaktadır . Bu nedenle, bu JavaScript pencere öğesi, basit gibi görünse de, üst sitede istediği DOM olaylarını ayarlayabilir iframe
.
Başka bir şey, Google neden bir kullanıyor iframe
? Neden sadece div
sayfada bir tane oluşturmuyorsunuz ? Bağlantının kaynağı olduğundan, iframe
isteğe bir CSRF (siteler arası istek sahteciliği) belirteci yerleştirilebilir ve ana site bu belirteci okuyamaz ve isteği yerine getiremez. Dolayısıyla, iframe
kendini kötü niyetli bir ebeveynden korumak için Kaynak Devralma kurallarına dayanan bir CSRF karşıtı önlemdir.
Saldırı açısından bakıldığında bu, UI-Redress'ten çok XSS'ye (siteler arası komut dosyası oluşturma) benzer. Google'a web sitenize erişim izni veriyorsunuz ve isterlerse kullanıcılarınızın çerezlerini ele geçirebilir veya XmlHttpRequests
web sitenize karşı performans sergileyebilirler (ancak daha sonra insanlar kötü niyetli ve zengin oldukları için dava açabilirler).
Bu durumda Google'a güvenmeniz GEREKİR, ancak Google size güvenmiyor.
Bu web hatalarının gizlilik etkisini azaltmanın yolları vardır .
<iframe>
, önerdiğiniz doğru olabilir (ve nasıl mümkün olduğunu açıklayın). Ancak, DOM'un incelenmesinden dolayı durum böyle görünmüyor. Ve bu, adımı ve Gmail adresimi kötü niyetli ebeveynlere ifşa eder (bir saniyeye sığmazsaiframe
)!