JavaScript · Senior · Frage 16 von 75
Was muss man in einem message-Handler prüfen, wenn man per postMessage mit einem iframe spricht?
- 1Nichts: der Browser liefert nur Nachrichten der eigenen Domain
- 2
event.origin- dass die Nachricht von der erwarteten Domain kommt - 3
event.timeStamp- dass die Nachricht nicht älter als eine Sekunde ist
Antwort zeigen
Richtige Antwort: event.origin - dass die Nachricht von der erwarteten Domain kommt
Erklärung
postMessage funktioniert über Origins hinweg, und jedes Fenster kann eine Nachricht senden. Ohne Prüfung von origin kann ein Angreifer gefälschte Befehle schicken. Beim Senden gibt man ein konkretes targetOrigin statt '*' an. Zwischen Tabs derselben Website ist BroadcastChannel praktisch.