Bronnen · 116

postMessage: oorsprong, venster en opdracht controleren

Leg een berichtcontract voor iframe of popup vast dat onverwachte afzenders en gegevens afwijst.

Bijgewerkt · 2 min

Wat deze handleiding helpt bereiken

  • Deelnemers en typen vastleggen
  • Valideren vóór enig effect
  • Navigatie en afwijkende berichten testen

Snelle controle

  • Contract voor origin, venster, type en minimale gegevens.
  • Validatievolgorde en afwijzing zonder bedrijfsgevolg.
  • Afwijzingsmatrix en opruimen van listeners.

Stapsgewijze methode

  1. 1

    Deelnemers en typen vastleggen

    Noteer exacte origins, verwacht venster en bruikbare typen. Gebruik een precies targetOrigin voor gevoelige gegevens. Een origin omvat protocol, host en poort; een substring in een domeinnaam bevestigt geen afzender.

    Contract voor origin, venster, type en minimale gegevens.

  2. 2

    Valideren vóór enig effect

    Vergelijk event.origin en voor deze integratie event.source met het verwachte venster. Controleer schema, toegestane waarden en processtatus. Behandel inhoud als gegevens zonder eval of HTML-invoeging. Een goedgekeurde origin vervangt geen autorisatie op de server.

    Validatievolgorde en afwijzing zonder bedrijfsgevolg.

  3. 3

    Navigatie en afwijkende berichten testen

    Test gelijkende domeinen, andere poorten, een ander venster met dezelfde origin, ongeldige velden en berichten na afsluiting. Verwijder overbodige listeners en maak afgeronde uitwisselingen ongeldig. Antwoorden gebruiken een eerder goedgekeurde origin, ook na navigatie.

    Afwijzingsmatrix en opruimen van listeners.

Herhaalbare acceptatiecasus

Fictief voorbeeld: deze gegevens beschrijven geen klant of waargenomen resultaat.

Casusgegevens bekijken
{
    "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"
}

Verwachte beslissing

Fictief voorbeeld: https://widget.example is toegestaan, maar event.source is een ander venster. Het contract vereist het actieve iframe-venster: wijs het bericht zonder opdracht af.

MDN — Window.postMessage

Uw acceptatiewerkboek

Leg observaties vast bij de criteria van deze gids. Een verslag is geen certificering.

Geen automatische opslag. Exporteer voordat u vertrekt.

Managementindicatoren

IndicatorWat het meetEerste actie
Onverwachte gevallen afgewezenNegatieve gevallen zonder effect afgewezen / uitgevoerde negatieve gevallenNoteer origin, venster en status
Toegestane uitwisselingen afgerondAfgeronde verwachte / geteste verwachte scenario’sScheid ontvangst en bevestigd effect

Veelvoorkomende fouten

    Veelgestelde vragen

    Is event.origin controleren voldoende?

    Nee. Controleer venster, structuur en status. De server moet rechten voor de actie controleren.

    Officiële referenties

    Referenties ondersteunen de methode. Pas controles aan uw context aan; ze zijn geen certificering. Originele referentietitels en brondocumenten kunnen in een andere taal zijn.

    Bronnen geraadpleegd op .