JavaScript · Senior · Pytanie 16 z 75
Co trzeba sprawdzić w handlerze message przy komunikacji z iframe'em przez postMessage?
- ✓Poprawna odpowiedź:
event.origin- że wiadomość przyszła z oczekiwanej domeny - 2
event.timeStamp- że wiadomość nie jest starsza niż sekunda - 3Nic: przeglądarka dostarcza wiadomości tylko z twojej domeny
Wyjaśnienie
postMessage działa między originami i każde okno może wysłać wiadomość. Bez sprawdzenia origin atakujący może wysyłać podrobione polecenia. Przy wysyłaniu podawaj konkretny targetOrigin zamiast '*'. Między kartami tej samej strony wygodny jest BroadcastChannel.