こんにちは.僕は国立大学の情報工学科に通う大学2年生です.
現在,所属するサークルのホームページを市販されているホームページビルダーなどを使わずに作成しているのですが,そこで詰まった箇所が出てしまったので質問させていただきました.
サークルのホームページの中に別のサイトのページを埋め込みたい(下の写真の状況です)のですが,
-
iframe要素やobject要素を用いないで実装する方法はありますでしょうか?もしあるのであればお教え願います.
-
もし別サイトの埋め込みがiframe要素やobject要素を用いるしか方法がないとして,ネットの記事で見た「iframe要素の脆弱性」を回避する方法がありましたらこちらもお教え願います.
質問は以上の2つです.お手数ですが何卒よろしくお願い致します.
情報追加のご指摘があったので追記しておきます.
上述の「ifame要素の脆弱性」は こちら のことになります.
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/03/02 07:49
回答6件
0
iframe要素のバッファーオーバーフロー脆弱性 (IE6限定)
上記サイトには脆弱性に関する詳細が載っていないようですが、2004年に報告されたバッファオーバーフローの脆弱性とは下記記事の事でしょうか。
当時、MSはパッチを出しましたし、当該OSのサポートは終了しているので考慮する必要はないように思われます。
- Microsoft Internet Explorer での IFRAME SRC NAME によるバッファ オーバーフロー (IeIframeSrcNameBo)
- 窓の杜 - 【NEWS】IEにバッファ・オーバーフローが発生する脆弱性、XP SP2で回避可能
iframe 要素の sandbox 属性 (HTML5)
HTML5 から iframe
要素に sandbox
属性が追加され、iframe
文書からのアクセスコントロールが出来るようになり、比較的安全にiframe文書を読み込めるようになりました。
- 4.7.6 iframe要素 — HTML 5.1 日本語訳
- 6.1.1 ネストされたブラウジングコンテキスト — HTML 5.1 日本語訳
- 6.1.6 ブラウジングコンテキスト名 — HTML 5.1 日本語訳
- iframe 要素 - HTML | MDN
Web スクレイピング
公開サイトで余所サイトをWebスクレイピングする行為は基本的にNGです。
自サイト内でテンプレート文書を読み込む実装ならサーバサイドスクリプトで非公開ディレクトリからHTMLを読み込む方法がお勧めです。
JavaScript でも実装可能ですが、HTTPリクエストのコストが重いのとJavaScript無効環境で動作しない欠点があります。
Re: BSNagamon さん
投稿2016/03/02 08:43
総合スコア18162
0
学生なのにセキュリティ対策を考えとるとは偉い
iframeかobjectしかないっすね
クリックジャッキング対策が必要、今作ってるページを誰かが他のサイトでiframeから呼び出して悪さするやつ。
webサーバの.htaccessファイルに、以下の内容を追加すればok
・iframe表示を同一ドメイン内のみ許可、それ以外は禁止する場合
<ifmodule mod_headers.c>
Header always append X-Frame-Options SAMEORIGIN
</ifmodule>
・iframe表示を指定されたドメインのみ許可する場合
<ifmodule mod_headers.c>
Header always append X-Frame-Options ALLOW-FROM http://www.example.jp/
</ifmodule>
エラーになるときは"always"消してリトライしてみてくださーい
投稿2016/03/02 07:45
総合スコア120
0
簡易的なサイトの製作という様にお見受けしての解答となりますが、
https://ghweb.info/post-3178.html
同一ドメイン内であればこの方法が使えます。
CSSなどは表示内ページで再定義する必要があるかと思いますのでご注意を。
外部ドメインであればXSSとなる為、懸念されている脆弱性の問題を回避するには様々な施策が必要となりますので、本件では説明は省きます。
投稿2016/03/02 05:31
総合スコア48
0
http://highfivecreate.com/blog/course/tips/817.html
htmlレベルで頑張るならjquery loadをクロスドメインでやるとかどうですか?
例えば取得したいものが更新情報だったりするなら、RSSがあれば、jqueryだけでも普通にもってこれますよね。
PHPではこんな感じですかね。
http://php.net/manual/ja/function.file-get-contents.php
http://php.net/manual/ja/curl.examples-basic.php
基本的に他サイトから情報をもってくる事自体、自分で制御できない不確定なものになるので、
セキュリティ的に言えばiframeだろうがノーガードじゃないかなと思います。
もちろん読み込んだコンテンツ内に悪意があるコードがあれば、ですけどね。
投稿2016/04/24 18:58
総合スコア10
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
YOUTUBEで撮影してembedとか?
HTMLのversion変えてframeset利用するとか?
IS怖いですもんね。
投稿2016/04/24 18:15
総合スコア335
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
メインコンテンツに埋め込みたい別のサイトって、
まったく管理できない場所にあるコンテンツなんでしょうか?
多くのサイトで使われているバナー広告などは、基本的にiframeを使っているものが多いですよ。
もし埋め込みたいコンテンツが自分たちの管理下であるなら問題なくiframe使えばいいと思います。
ぜんぜん関係ない人が作った独立したコンテンツなら、そもそも埋め込みすることを許可してもらっておくのがよいです。
それから最後に、もし『サークル名など』『サブコンテンツ』を全ページ分用意しないために、メインのコンテンツを埋め込むことを思いついたのなら、別の方法をとったほうがよいです。
投稿2016/03/02 07:55
総合スコア765
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/03/02 08:19
2016/03/02 08:43
2016/03/02 09:33
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。