拡張子が変更されたJavaScriptは実行されるか?IE,Firefoxでのセキュリティ
ここが危ない!Web2.0のセキュリティ:第1回 Ajaxとクロスサイトスクリプティング|gihyo.jp … 技術評論社の勉強メモ&実験です。
実験
あるJavaScriptの拡張子をcsvに変更してSCRIPTタグでそれをインポートするHTMLを用意します。
そのJavaScriptを実行しようとするとIEのデフォルトセキュリティオプションでは、
ファイルのダウンロードダイアログが出ます。
Firefoxは拡張子がcsvにもかかわらずちゃんとJavaScriptと認識してそれを実行します。
原理
CSVファイルは単にカンマで区切られたデータですので,スクリプトは実行されないはずです。
Internet Explorerの仕様にセキュリティ設定に「内容によってファイルを開く」という設定ががあります(図2)。
これは,Internet Explorerがファイルの中身を見て,その中にHTMLっぽい文字列が含まれていればHTMLだと判断するということを意味しています。このため拡張子やレスポンスに含まれるContent-Typeヘッダとは関係なく,外部から参照可能なファイルにはクロスサイトスクリプティング対策が必要であるということになります。
一方,Firefoxの場合はレスポンスのContent-Typeヘッダを見て判断しますので,ファイルの中身が何っぽいのかを気にする必要はありません。
http://gihyo.jp/dev/serial/01/web20sec/0001?page=2
この観点からはIEのほうがセキュリティの面で高いと見られます。