※flash と javascript が同じドメインの場合
そこで、script タグが使えないブログで、flash を経由して javascript を読み込みたいと考えています。
パラメータで URL を渡せば対象 javascript を読み込んでくれるような、フリーで利用できる簡単な swf ファイルをご存知でしたら教えていただけると助かります。
どうぞよろしくお願いします。
Flash経由で外部のJavascriptが実行できる(=XSSが可能)というのは何かの間違いだと思います。そんなことが出来たらセキュリティが崩壊してしまいます。
JavascriptとFlashのセキュリティモデルには以下のような違いがあります。
恐らくこの話と勘違いされているのでは無いでしょうか?
すみません、上では質問に対して少しずれたクロスドメイン関連の話をしてしまいましたね…。
改めて質問を見直したら質問内容を勘違いしていましたので改めて回答してみます。
FlashからJavascriptを読み込めるというのは誤解で、恐らく「Flashは同ページ内で定義されたJavascript関数が実行できる」ということと勘違いされているのではないでしょうか?
確かにFlashは外部Javascriptファイルを(文字列データとして)読み込むことは出来ますが、そのJavascriptをそのページ内で実行することは出来ないと思います。
それが出来てしまうとやはりXSSが実行出ることになってしまいセキュリティ上の問題になります。
回答ありがとうございます。
「Flashは同ページ内で定義されたJavascript関数が実行できる」
としても、例えば Flash で
document.body.appendChild(document.createElement("script").src="hogehoge")
みたいなことは無理ということですね・・・
※蛇足ですが、クロスドメイン(JSONPみたいなの) = XSS 脆弱性というところがいまいち理解できてません・・
クロスドメインというか、yoskiさんがやりたがっている「ページ内で任意のJavascriptを実行する」ということ自体が大きなセキュリティホールになり、そういうことが出来てしまう脆弱性の名前がXSSです。
例えば以下のようなJavascriptを実行させることが出来ればURLはそのままで中身は全く別のサイトを表示させることが出来ます。
document.body.innerHTML='<iframe style="width:100%;height:100%;border:none;" src="http://www.google.com/"></iframe>';
この例ではGoogleですが、例えばはてなのログイン画面そっくりの偽物サイトを作っておけば、本物のログインフォームと勘違いしてIDとパスワードを入力してしまう人も出てくるでしょうから簡単に他人のIDとパスワードを盗むことができます。
立派なフィッシングサイトのできあがりですよね?
そのような悪事に利用されない為に、どのブログサイトでもユーザが自由にJavascriptを書くことが出来ないようになっているのです。
あぅ「ページ内で任意のJavascriptを実行する」とは一言も書いてません・・・それXSS脆弱性ですよね・・・
「どのブログサイトでもユーザが自由にJavascriptを書くことが出来ない」なんてことありませんよね。
どちらかというと、javascript 使えるところが多いと思います。
他の人に「できるよー」って教えてもらえたので、この質問は終了します。
(↓でフォロー頂きありがとうございます)