2013-07-01 13 views
7

Vorrei creare una connessione postMessage sicura (sicura dell'origine), con un Iframe creato in fase di runtime.JS - Come utilizzare in modo sicuro window.postMessage quando il dominio del mittente è sconosciuto

Stato attuale: Ho uno script, che genera un iframe con un dominio specifico (domain.b.com nell'esempio qui sotto). Voglio che iframe riceva messaggi solo dal dominio genitore (la pagina che include il mio script). Poiché il dominio parent è sconosciuto al runtime, sto pensando a un processo "Handshake" come descritto ed illustrato di seguito:

  1. Attendere il caricamento di Iframe.
  2. Invia messaggio messaggio dal dominio padre con la sua origine.
  3. Impostare l'origine ha permesso di essere il primo ricevuto origine

Edit: Ulteriori informazioni:

  1. Sul mio server ho un domini whitelist (ad esempio domain.a.com, any.domain.com, domain.b.com)
  2. Il mio obiettivo è l'integrazione con alcuni dei miei clienti (ad esempio dominio.a.com, dominio.b.com)
  3. Una volta integrato voglio impedire l'hacke rs iniettando iframe in grado di ascoltare informazioni sensibili su postMessage
  4. Voglio evitare di controllare la lista bianca, preferisco dare qualche acessToken, ma non sono sicuro di quale sia il flusso corretto.

Esempio 1:

enter image description here


Esempio 2:

enter image description here

E 'questo il modo giusto per la sua attuazione?

+0

Credo che tu abbia commesso un errore nel tuo secondo esempio. Penso che volessi dire 'postMessage (" any.domain.com "," domain.b.com ")' nel tuo primo postMessage! – Mehran

+0

Hai ragione ... mi dispiace per quello –

+1

C'è un motivo per cui non fornisci semplicemente il dominio genitore nell'URL caricato all'interno dell'iframe ('