Toon posts:

[JavaScript] Hoe veilig javascript in IFrame laden?

Pagina: 1
Acties:

Verwijderd

Topicstarter
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:

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...

  • funkwurm
  • Registratie: December 2005
  • Laatst online: 22-02-2021
Ik begrijp je verhaal niet heel erg goed, maar als ik de vraag zo formuleer:

"Kun je door middel van een (puur HTML) iframe in je mailtje met de javascript van Gmail rommelen?"

Dan is het antwoord nee, tenzij de pagina waarnaar het iframe verwijst op de Gmail-server staat. Maar laten we er voor het gemak vanuit gaan dat jij die toegang niet hebt.

Je kunt met HTML wel een pagina van een andere site (lees: server) inladen, maar je kunt met javascript niet middels parent (of top, of wat ook) een frame benaderen die niet op dezelfde server staat als je javascript.

Verwijderd

Topicstarter
Juist, dat probeerde ik uit te leggen...

Maar als ik de source van bijvoorbeeld een tweakers nieuwsbrief in Gmail open, dan zie ik nergens een IFrame ? :? En tot voor kort hadden ze ook problemen, dat er javascript geladen kon worden.. Maar hoe hebben ze dat opgelost dan?


EDIT: Klopt inderdaad van die andere server, ik weet nu genoeg :D thanks!

[ Voor 13% gewijzigd door Verwijderd op 04-06-2006 15:28 ]