初めて自分の家と他人の家が違う、と意識した時

iframe内のリンクをたどる等をして表示されたサイト(srcで指定した
以外のサイト)のURLは、iframeが埋め込まれているサイトと
iframe内で表示されてるサイトのドメインが一致しない限り、javascript
では取得できないのはなぜですか?取得されると何か困ることがあるので
しょうか?
またjavascript以外なら何らかの方法で取得することは可能なのでしょうか?

A 回答 (2件)

>操作は出来なくとも取得はできてもよい


>ような気がしますが・・

URLが取得できれば、操作(URLを開く)は簡単です。

-----------------------------------------------------------
>iframeのURLを取得しても悪用する手立てが
>いまいちよくわかりません(^^;

WEBの仕組みを熟知していないと難しい内容です。
私自身もそれほど詳しい訳ではないので、
説明が難しいのですが・・・(^^;

-----------------------------------------------------------
簡単な例を挙げてみます。

説明に使う用語は、下記の「原理」を見て下さい。
http://ja.wikipedia.org/wiki/%E3%82%AF%E3%83%AD% …

例えば、Aさんがmixiの会員で、自動ログインを利用していたとします。

Aさんが、攻撃者のWEBぺージを開いてしまった。

攻撃者のWEBページではiframeがあり、そこでmixiを開く。
(このiframeは気づかれない様に隠してある)

mixi側は、Aさんがアクセスしてきたので、自動ログインの処理をし、
Aさんのマイページを開きます。

例えば、マイページの「プロフィール確認」と言うリンクのURLは
下記の様にになっています。

https://mixi.jp/show_profile.pl?id=*******

URLの最後に、idの情報が付加されています。

このURLが攻撃者のWEBサイトで取得できれば、
AさんのIDが攻撃者に知られます。

-----------------------------------------------------------
iframeを仕掛けているのは攻撃者ですが、
開いているのは、Aさんのブラウザです。

Cookieは、Aさんの物が使われます。

mixi側は、AさんのCookieを利用し、
Aさんの個人情報を返してしまうのです。

mixiでは、過去に騒動があったので、
現在は何らかの対策がしてあると思いますが、
危機管理の甘いサイトなら、今でも簡単に
個人情報が返ってくるかも知れません。

上記の例は簡単な例ですが、頭のいい人ならもっとすごい
利用(悪用)方法を思いつくでしょう。

-----------------------------------------------------------
Aさんが開いた、攻撃者のWEBページ内のiframeで、
mixiのページが表示されていたとします。

この情報は、Aさんとmixiの間のやり取りなので、
他者(攻撃者)には一切知られない方が良いのです。
(知らせる必要がないですし)

つまり、別ドメインの情報は取得出来ない、
そういう方向で、ブラウザは作られていると思います。

もし、何らかの方法で取得できたとしても、
それはセキュリティホールになるので、
そのうち埋められると思います。

-----------------------------------------------------------
うまく説明出来たか分かりませんが、
私もこれ以上は説明できませんので、悪しからず。(^^;

hfodfpow9さんがそのURLを何に利用したいのか?
説明がないので、見えてきませんね。
(推測ですが、自分自身で利用するページでしょうか?)

もう少し具体的に何がしたいのかを説明して頂ければ、
別の解決方法が見付かるかも知れませんよ。
(その場合は、新規の質問の方が良いかな・・・)
    • good
    • 0
この回答へのお礼

度々の回答ありがとうございます。URLは想像以上に様々な情報を
含んでいるのですね。悪用する仕組みがよくわかりました(^^;

私がやりたいと思ったことは、iframe内でyoutubeやニコニコ動画など
を表示させてiframe外に動画をダウンロードできるボタンを設置するという
感じのものです。動画のURLさえ取得できれば完成するのですが。

お礼日時:2007/12/12 15:46

>iframe内で表示されてるサイトのドメインが一致しない限り、javascript


>では取得できないのはなぜですか?取得されると何か困ることがあるので
>しょうか?

残念ながら、世の中には悪いことを考える人がいまして、
下記のような不正行為に、利用される恐れがあります。

XSS(クロスサイトスクリプティング)
http://ja.wikipedia.org/wiki/%E3%82%AF%E3%83%AD% …

CSRF(クロスサイトリクエストフォージェリ)
http://ja.wikipedia.org/wiki/%E3%82%AF%E3%83%AD% …

iframeに直接関係している訳ではないですが、
iframeで別ドメインの情報が自由に操作できれば、
上記の様な不正行為がとても簡単になり、非常に危険です。

-----------------------------------------------------------
>またjavascript以外なら何らかの方法で取得することは可能なのでしょうか?

セキュリティ上の理由で、その他の方法でも難しいと思います。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。iframeのURLを取得しても悪用する手立てが
いまいちよくわかりません(^^; 操作は出来なくとも取得はできてもよい
ような気がしますが・・

お礼日時:2007/12/12 01:41

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報