sambaiz-netawsgolangmachinelearninglogkubernetesinfrapythonlambdatensorflowunityfluentdgcpnode.jswebdockerlinuxmysqlelasticsearchjavascripthololensauthc++circleciiosproductreacttypescriptandroidbleeventswiftalgorithmangularcronistioterraformuwp.netcssdatadogfirebasegithubgrpchadoopnorikrarxservervransibleapicdncompresscryptocsharpd3.jsdigdaghugojenkinsjvmkotlinlanguageleveldblispmathneo4jobjective-cpytorchread_paperscikit-learnserializesonnetsparkspecstatisticsvideovscodeTAGsambaiz-net同じ/異なるオリジンのiframeの中からできること(2018-10-24)同じ/異なるオリジンのiframeの中からできることを確認する。ホストだけではなくプロトコルやポート番号も同じということ。Web広告では非同期のレンダリングや、CSSやJSのグローバルスコープといったページ全体に及ぶ影響の分離のためによく使われている。検証用ページ3つのiframeがあるページを作った。それぞれabout:blankで動的に書き込むのと、同じオリジンのhtmlを参照しているものと、異なるオリジンのhtmlを参照しているもの。src="./index.js"></script></body></html>1つ目のiframeの中にscriptタグなどを書き込むJS。${el.contentWindow.childValue}`);iframeのsrcで参照するhtml。異なるホストにするためngrokを立ち上げる。aaaaabout:blankは表示ページと同じオリジンになるので、srcが同じオリジンの場合の挙動と同じでparentの値やiframeを参照して書き換えることもできる。trueを定義してFIF内で実行されていることを通知するというもの。計測や表示領域の拡大縮小などはさせることができる。裏を返せばやろうと思えば何でもできるので悪意のあるスクリプトに対する防衛策にはならない。オリジンが異なる場合は値を参照しようとするとブロックされる。parentのwindow自体は参照できるのでpostMessage()で外側とやりとりすることはできる。APIを介して拡大などさせることでセキュアにする。