Risorse · 116
postMessage: verificare origine, finestra e comando
Definire un contratto per messaggi di iframe o popup che rifiuti mittenti e dati inattesi.
Aggiornato · 2 min
Obiettivi di questa guida
- Definire interlocutori e tipi
- Validare prima di agire
- Provare navigazione e messaggi fuori contratto
Verifica rapida
- Contratto di origine, finestra, tipo e dati minimi.
- Sequenza di validazione e rifiuto senza effetti operativi.
- Matrice dei rifiuti e pulizia dei listener.
Metodo passo passo
- 1
Definire interlocutori e tipi
Elenca origini esatte, riferimento della finestra e tipi utili. Usa targetOrigin preciso per dati sensibili. L’origine comprende protocollo, host e porta; una ricerca di sottostringa nel dominio non valida il mittente.
Contratto di origine, finestra, tipo e dati minimi.
- 2
Validare prima di agire
Confronta event.origin e, per questa integrazione, event.source con la finestra attesa. Valida schema, valori e stato dell’operazione. Tratta il contenuto come dati, senza eval o inserimento HTML. Un’origine approvata non sostituisce l’autorizzazione lato server.
Sequenza di validazione e rifiuto senza effetti operativi.
- 3
Provare navigazione e messaggi fuori contratto
Prova dominio simile, porta diversa, altra finestra della stessa origine, campi invalidi e messaggi dopo la chiusura. Rimuovi listener inutili e invalida scambi conclusi. Le risposte usano un’origine già approvata anche dopo la navigazione della finestra.
Matrice dei rifiuti e pulizia dei listener.
Caso di accettazione riproducibile
Esempio fittizio: questi dati non descrivono clienti o risultati osservati.
Vedi dati del caso
{
"allowed_origin": "https://widget.example",
"observed_origin": "https://widget.example",
"expected_window": "active_iframe",
"observed_window": "another_window",
"payload_schema_valid": true,
"expected": "reject_without_effect"
}Decisione attesa
Esempio fittizio: https://widget.example è approvata, ma event.source è un’altra finestra. Il contratto richiede l’iframe attiva: rifiuta senza eseguire comandi.
Il tuo registro di accettazione
Registra osservazioni sui criteri della guida. Un registro non è una certificazione.
Il registro non salva automaticamente. Esporta prima di uscire.
I filtri non limitano gli export. Le azioni includono blocchi e criteri non esaminati.
L’importazione sostituisce le osservazioni dopo la tua conferma.
Indicatori di gestione
| Indicatore | Cosa misura | Prima azione |
|---|---|---|
| Casi inattesi rifiutati | Casi negativi rifiutati senza effetti / casi negativi eseguiti | Registrare origine, finestra e stato |
| Scambi approvati completati | Scenari previsti conclusi / scenari previsti testati | Distinguere ricezione ed effetto confermato |
Errori comuni
Domande frequenti
Basta controllare event.origin?
No. Verifica anche finestra, struttura e stato. Il server deve controllare i permessi per l’azione.
Riferimenti ufficiali
I riferimenti supportano il metodo. Adattare i controlli al proprio contesto; non costituiscono una certificazione. I titoli dei riferimenti originali e i documenti di origine potrebbero essere in un'altra lingua.
Riferimenti consultati il .






