外部サイトや外部バイナリファイルを埋め込んで表示する。
要素一覧
要素 | 概要 |
---|---|
<iframe> |
|
<embed> |
埋め込み外部コンテンツ要素 |
<object> |
外部リソース。PDFやFLASHの埋め込み。 |
<param> |
<object> の引数 |
<iframe>
別のHTMLを表示する。
<iframe src="https://www.google.co.jp/"></iframe>
あれ、表示されないじゃん。ググってみるとサーバ側の設定で、iframe
によるページ表示を禁止するよう設定しているようだ。X-Frame-Options
によって。
X-Frame-Options |
内容 |
---|---|
Deny |
全ドメインで禁止 |
SAMEORIGIN |
同一ドメイン内のみ許可 |
ALLOW-FROM uri |
指定したドメインに限り許可 |
提供するサーバ側はセキュリティ対策でこれを設定するらしい。クリックジャッキングというサイバー攻撃に対する処置だそうだ。ユーザに見えないよう偽装したリンクやボタンを設置し、クリックさせるものらしい。それにより意図しない商品購入や送金をさせられたり、カメラやマイクを起動させられてプライバシー侵害されたり、なりすまされて犯罪予告させられたりするなどが起こりうる。
これって事実上、<iframe>
タグは使えないのでは? むしろ使えちゃったサイトはセキュリティが弱すぎて危険だと判明するだけでは?
<embed>
外部コンテンツを埋め込む。
<embed src="some.pdf" type="application/pdf" width="100%" height="100%"></embed>
<object>
外部コンテンツを埋め込む。
<object data="some.pdf" type="application/pdf" width="100%" height="100%"></object>
<param>
<object>
の引数を定義する。
<object data="some.pdf" type="application/pdf" width="100%" height="100%"> <param name="キー" value="値"> </object>
所感
そもそもHTML標準外のコンテンツを拡張によって表示することは非推奨である。よってこれらのタグを使うこと自体がよくないこと、らしい。かつてFLASHなどを埋め込んでいたときは使われていたのだろうなぁ(遠い目)
対象環境
- Raspbierry pi 4 Model B
- Raspberry Pi OS buster 10.0 2020-08-20 ※
- bash 5.0.3(1)-release
$ uname -a Linux raspberrypi 5.10.63-v7l+ #1496 SMP Wed Dec 1 15:58:56 GMT 2021 armv7l GNU/Linux