Come posso incorporare iframe in modo sicuro senza limitare la sua funzionalità?

13

Vorrei incorporare un iframe da un sito non affidabile in un'applicazione web. Iframe:

  • dovrebbe essere in grado di eseguire i plugin Javascript e del browser (Flash, ecc.)
  • non dovrebbe essere in grado di accedere alla mia applicazione web tramite Javascript
  • I collegamenti
  • _self, _parent, _top dovrebbero aprire le pagine nella stessa iframe, non nella finestra del browser completa (non voglio che il mio sito venga sostituito da altri)
  • I collegamenti
  • _blank devono essere aperti nella nuova finestra del browser / scheda

(In una parola voglio limitare la funzionalità del sito incorporato il meno possibile)

È possibile farlo?

Sono a conoscenza dell'attributo sandbox di iframe ma non riesco a determinare se è possibile utilizzarlo.

    
posta Andrei Botalov 21.12.2012 - 14:47
fonte

1 risposta

1

L'attributo sandbox impedirà la navigazione in alto per impostazione predefinita e può essere configurato per consentire lo scripting utilizzando allow-scripts . Lo stesso criterio di origine in tutti i browser correnti dovrebbe impedire agli iframe che hanno contenuto da un'origine diversa (host) di accedere all'applicazione utilizzando JavaScript, l'attributo sandbox lo farà anche per gli iframe di origine stessa.

Quindi, in breve, sandbox dovrebbe soddisfare i requisiti, anche se è necessario testare se _blank funziona come previsto.

Tuttavia, dovresti sapere che non tutti i browser supportano l'attributo sandbox, e quelli che non lo tratteranno tratteranno l'iframe come non sandbox.

    
risposta data 02.01.2013 - 17:14
fonte