ugrás a tartalomhoz

oldal ne nyíljon meg iframe-ben

H.Z. · 2013. Már. 28. (Cs), 11.15
Nem is tudom, hova illene a téma.
Pár napja egy biztonsággal foglalkozó blogot nézegettem és eszembe jutott, hogy épp be vagyok jelentkezve a gmailbe IRL néven. Erről már nem tudom, hogy miért, az ugrott be, hogy ha egy meglátogatott oldal most megnyitná a gmailt egy rejtett iframe-ben, akkor gond nélkül hozzáférne az e-mail címemhez, adott esetben a valódi nevemhez is.
Később kipróbáltam, szerencsére a gmaillel nem működött (hacsak nem én szúrtam el valamit), de például a freemail-lel gond nélkül.
Tipp spammereknek: így lehet a látogatók akarata ellenére mail címeket gyűjteni! ;)

A kérdésem mindössze annyi lenne, hogy ti hogy álltok az ilyesmihez? Ha valami kényes adatokat is tartalmazó oldalt készítetek, szoktatok rá ügyelni, hogy például iframe-ben ne lehessen megnyitni a lapot? (feltételezem: ha a google megoldotta, akkor kivitelezhető)
 
1

Ha lesz időm, leellenőrzöm,

Hidvégi Gábor · 2013. Már. 28. (Cs), 11.28
Ha lesz időm, leellenőrzöm, de szerintem scriptből nem lehet elérni egy másik domain-re megnyitott iframe tartalmát.
2

Úgy van. Lásd Same origin

kuka · 2013. Már. 28. (Cs), 11.32
Úgy van. Lásd Same origin policy.
6

Nem is értettem, hogy miért

H.Z. · 2013. Már. 28. (Cs), 11.51
Nem is értettem, hogy miért működik...
Egészen odáig nem volt semmi gond, hogy doc=document.getElementById("iframeidje").contentDocument;

Amikor a doc. hivatkozással akartam valamit kezdeni, akkor már visszapofázott a böngésző, de idáig csak most jutottam el, hogy olvastam a válaszodat. :)
3

Köszi, ehhez fel kellett

H.Z. · 2013. Már. 28. (Cs), 11.37
Köszi, ehhez fel kellett volna eleveníteni a rég elfelejtett JS ismereteimet.
4

írtam ilyet

Poetro · 2013. Már. 28. (Cs), 11.48
Én annó írtam kódot arra, hogy kitörjön az oldal az iframe-ből amennyiben abban lett megnyitva. Azt már nem tudom, pontosan hogy volt megvalósítva, de azt hiszem referer-t is ellenőriztem,.hogy azért saját domain alatt lehessen saját oldalról iframe-ként beszúrni.
  1. /** 
  2.  * @file 
  3.  * Bust out from the frame. 
  4.  */  
  5. (function (window) {  
  6.   var topLocation = window.top.location,  
  7.       location = window.location,  
  8.       localhost = location.hostname,  
  9.       tophost;  
  10.   
  11.   /** 
  12.    * Get the domain name from the full domain. 
  13.    */  
  14.   function domain(host) {  
  15.     return host && host.split('.').slice(-2).join('.');  
  16.   }  
  17.   
  18.   // Get the hostname if available (this will likely to fail cross domain).  
  19.   try { tophost = topLocation.hostname; } catch (e) {}  
  20.   
  21.   // If we are cross domain, replace the top location with ours.  
  22.   if (!tophost || (location !== topLocation && tophost !== localhost && domain(tophost) !== domain(localhost))) {  
  23.     topLocation.replace(location.href);  
  24.     // Also don't try to load anything further.  
  25.     location.replace("about:blank");  
  26.   }  
  27. }(this));  
5

Köszi, közben kiderült, hogy

H.Z. · 2013. Már. 28. (Cs), 11.49
Köszi, közben kiderült, hogy a document objectet még el tudom kérni az iframe-ből, de ha annak a belsejére hivatkoznék, akkor már "permission denied" az eredmény. Szóval csak a szokásos kapkodás eredménye ez a topik. :(