Ik heb eens lopen denken, toen gezocht, niks gevonden en weer lopen denken...
Je hebt bijvoorbeeld GMail, je kunt mailtjes openen, met een HTML formaat, waarbij tot voor kort JavaScript dingen per ongeluk uitgevoerd konden worden. Dit omdat dat niet beveiligd was. Ik heb lopen denken van hoe ze dat kunnen doen? Natuurlijk kun je alle script tags weghalen of filteren of iets dergelijks, maar dit zou je dan ook moeten doen bij alle objecten om alle onclicks etc weg te halen.
Maar wat als je nou in een IFrame iets in laad? Je kunt vanuit die IFrame weer dingen aanroepen, wat er boven ligt, door eerst "Parent." te doen, en dan weer de functies van de body te gebruiken. Je kunt bijvoorbeeld zoiets doen:
Omdat ik nu zelf ook bezig ben met JavaScript en ik een systeempje aan het maken was, waarbij andere mensen ook applicaties konden toevoegen, vroeg ik mij of hoe je veilig javascript kan inladen in een bestaande site, zonder dat je daarbij de functies en variabelen kan opvragen die je in het "core" systeem zitten?? Ik kan namelijk begrijpen dat bij GMail er vast een functie in javascript is, die respectievelijk SendMail() is, je moet gewoon dmv javascript iets kunnen sturen.
Gmail vind het echter niet zo fijn denk ik, dat als iemand een mailtje opent iedereen maar wat javascript kan liggen uitvoeren en zo maar 1000 mailtjes vanuit zijn account kan sturen.
Een werkend voorbeeld is hier te vinden: http://24.132.92.28/test/
Maar op het moment dat je er voor hebt gezorgd dat je geen JavaScript meer kan uitvoeren, hoe zorg je dan dat je JavaScript WEL kan uitvoeren, zonder dat je gebruik kan maken van de functies die op de "core" page (de pagina die de IFrame houd)? Je hebt namelijk nu Live.com, waarbij je zelf gadgets kan maken... Dit lijkt me nogal gevaarlijk, omdat je dan ook webservices die direct verband houden met je account kan aanroepen. Toch hebben ze dit schijnbaar beveiligd, en ik kan niet bedenken hoe je dit zou kunnen doen...
Je hebt bijvoorbeeld GMail, je kunt mailtjes openen, met een HTML formaat, waarbij tot voor kort JavaScript dingen per ongeluk uitgevoerd konden worden. Dit omdat dat niet beveiligd was. Ik heb lopen denken van hoe ze dat kunnen doen? Natuurlijk kun je alle script tags weghalen of filteren of iets dergelijks, maar dit zou je dan ook moeten doen bij alle objecten om alle onclicks etc weg te halen.
Maar wat als je nou in een IFrame iets in laad? Je kunt vanuit die IFrame weer dingen aanroepen, wat er boven ligt, door eerst "Parent." te doen, en dan weer de functies van de body te gebruiken. Je kunt bijvoorbeeld zoiets doen:
code:
1
| Parent.document.write("hoi"); |
Omdat ik nu zelf ook bezig ben met JavaScript en ik een systeempje aan het maken was, waarbij andere mensen ook applicaties konden toevoegen, vroeg ik mij of hoe je veilig javascript kan inladen in een bestaande site, zonder dat je daarbij de functies en variabelen kan opvragen die je in het "core" systeem zitten?? Ik kan namelijk begrijpen dat bij GMail er vast een functie in javascript is, die respectievelijk SendMail() is, je moet gewoon dmv javascript iets kunnen sturen.
Gmail vind het echter niet zo fijn denk ik, dat als iemand een mailtje opent iedereen maar wat javascript kan liggen uitvoeren en zo maar 1000 mailtjes vanuit zijn account kan sturen.
Een werkend voorbeeld is hier te vinden: http://24.132.92.28/test/
Maar op het moment dat je er voor hebt gezorgd dat je geen JavaScript meer kan uitvoeren, hoe zorg je dan dat je JavaScript WEL kan uitvoeren, zonder dat je gebruik kan maken van de functies die op de "core" page (de pagina die de IFrame houd)? Je hebt namelijk nu Live.com, waarbij je zelf gadgets kan maken... Dit lijkt me nogal gevaarlijk, omdat je dan ook webservices die direct verband houden met je account kan aanroepen. Toch hebben ze dit schijnbaar beveiligd, en ik kan niet bedenken hoe je dit zou kunnen doen...