postMessage はフレームやウィンドウ間でデータをやり取りする機能。
受信側が送信元オリジンを確認しないと、悪意あるサイトから
不正なデータ(=外部入力)を受け取ってしまう。受け取った値をそのまま
innerHTML に入れればXSSにもなる。
下のボタンで、自分自身に2種類のメッセージを送る(本来は別ウィンドウから届く想定)。
要点: message 受信時は必ず event.origin を
想定した値と照合する。受け取ったデータは外部入力として扱い、DOMに入れるときは
textContent/サニタイズする。