質問: htmlで別pcのフォルダを開く 例えばネットワーク上に”192.168.100.250”というpcがあるとします。 このpcはフォルダウィンドウでフォルダ内を閲覧出来る場合、 別のサーバーのhtmlファイルから、 このフォルダを開く事は出来ますか? 以下のコードを追加して、testをクリックしても何も起こりません。。。 test どなたかお分かりになる方教えてください。
回答: [ano.7] の続きね。 firefox を例にするね。 ■ ウェブブラウザのセキュリティ第1段階 1) firefox でロケーションバーに "file:///c:/" を入力すると、『c:\』のフォルダの一覧が表示される。他のフォルダを入力すれば、同じように、そのフォルダの一覧が表示される。 2) 質問者さんは、悪意のあるウェブページとは知らずに、"http://example.org/akuinoaru.html" をダウンロードして、デスクトップに保存したとする。 その html の内容は↓これ。 akuinoaru javascript sample akuinoaru javascript sample =========================== 3) 質問者さんは、保存した html を firefox で開くとする。 4) すると、デスクトップにあるファイルの一覧が表示される。 5) 『4)』とほぼ同時に "http://example.org/akuinoaru.js" が実行される。 6) akuinoaru.js は、表示されたフォルダの中にあるファイルを、 "http://example.org/akuinoaru.php" へ全て送信するという javascript だとする。 ということで、質問者さんの pc の中のファイルが、攻撃者のサーバに送信される。 つまり、『信頼できない html ファイルをダウンロードして、ウェブブラウザで開くのはすごく危険』ということ。 ■ ウェブブラウザのセキュリティ第2段階 1) ウェブブラウザは、pc にウェブページのキャッシュを持つ。 つまり、自分でダウンロードしなくても、もともと html ファイルはダウンロードされているということ。 2) ここで、"http://example.org/akuinoaru.html" は "file:///ウェブページのキャッシュフォルダ/キャッシュファイル" へリンクを張ってあったとする(※)。 通常、このリンクはウェブブラウザによってセキュリティー上無効にされているけれど、これが有効だったとする。 3) 質問者さんは、上のページのリンクをクリックしたとする。 4) 以下、『ウェブブラウザのセキュリティ第1段階』の 『4)』と同じ。 今回は、リンクをクリックする想定をしたけど、実際はクリックしなくても、キャッシュファイルを表示させることができるから、悪意のあるページにアクセスしたら、すぐに、質問者さんの pc の中に保存されているファイルは、攻撃者のサーバに送信されてしまう。 このようなことが起こらないように、http://xxxxxx から file:/// へのリンクは無効にされている。 という説明で大丈夫かな? ※2) 実際には、キャッシュファイルのパスは固定じゃないから、javascript でがりがり生成して何回もトライしてキャッシュファイルのパスを見つける必要がある。でも危険なことには違いはない。