人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Internet Explorerのデフォルト設定では、ローカルに置かれたJavaScriptを実行しようとすると、
「セキュリティ保護のため、コンピュータにアクセスできるアクティブ コンテンツは表示されないよう、Internet Explorerで制限されています。オプションを表示するには、ここをクリックしてください...」
と表示されます。

なぜ、ローカルに置かれたファイルにのみこのような警告が表示されるのでしょうか?
私の感覚的には、ネット上に存在するJavaScriptの方が危険なものが多いと思うのですが……。

ローカルにある場合のみ、特殊な操作(ローカルのファイル操作とか?)ができてしまう、とかでしょうか?

詳しい方、教えてください。

1181037330
●拡大する

●質問者: hina1981
●カテゴリ:コンピュータ インターネット
✍キーワード:Internet Explorer JavaScript にの アクセス アクティブ
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● じゃっくそにっく
●20ポイント

こんにちは

ローカルにある場合のみ、特殊な操作(ローカルのファイル操作とか?)ができてしまう、とかでしょうか?

そうですね。

たとえば、ローカルのJavaScriptの実行法によっては

WSH,ローカルのドライブ・フォルダ・ファイルを操作できてしまう

"FileSystemObject"などが使えて、

セキュリティ上の危険はあります。

◎質問者からの返答

ありがとうございます!

「FileSystemObject + JavaScript」

で検索して出てきたプログラムを実行してみました。

確かに、ローカルでのファイル操作ができてしまいますね!

FileSystemObjectについて、もう少し勉強してみます。


2 ● susie-t
●30ポイント

あとは、Ajaxで例えば"test.txt"を読み込むスクリプトの場合、これがどこのファイルを意味するかという問題があると思います。c:\test.htmならc:\test.txtになりますので・・・。

◎質問者からの返答

ありがとうございます!

1の質問の検証の際に、検索で出てきたsusie-t様のサイトを参考にさせていただきました。

他にもtheater.js等を見させていただき、JavaScriptが持っている大きな可能性を感じました。


ローカルで動くスクリプト言語ということで、今まであまり重視してこなかったのですが、JavaScriptって、奥が深いのですね!!

Ajaxに関しては、まだ勉強途中なので、もう少し勉強して検証してみたいと思います。


3 ● じゃっくそにっく
●50ポイント ベストアンサー

1の回答者です。もう少し詳しくご説明いたします。

閲覧者のローカルディスクのファイルに書き込みを行う機能は、

JavaScriptの言語自体がはじめから持つ機能ではなく、

JavaScriptを経由して呼び出せる”ActiveXコントロール”の機能」です。

ローカルの場合だけ、質問の画像にあるような

アクティブコンテンツ(ActiveXコントロールなど)の警告表示が出るのは、

セキュリティレベルの既定の設定」の問題が関与しています。

[インターネットオプション]の、[セキュリティ] 設定において、

「ActiveXコントロールに対して自動的にダイアログを表示」

という設定項目が、

「ローカルイントラネット」ゾーンでは既定が「有効」であり、

「インターネット」ゾーンでは既定が「無効」だからです。

既定のActiveX警告設定の違い

[f:id:jack_sonic:20070606024021j:image]

[f:id:jack_sonic:20070606024023j:image]


なぜかというと、既定の設定では

「ローカルイントラネット]ゾーンは、

「インターネットゾーン」よりも、

、セキュリティレベルが甘いからです。

インターネットゾーンが「中高」に対して、

ローカルは「中低」が既定など。

[f:id:jack_sonic:20070606024022j:image]

[f:id:jack_sonic:20070606024024j:image]



しかし注意しなければならないことは、

「ローカルにある場合のみ」ではなく

「ブラウザの(特にActiveX関連の)セキュリティレベルが低く設定されている」場合に危険性があるということです。

セキュリティレベルは変更できるため、

たとえ"インターネット"ゾーンでも、

ActiveXのセキュリティレベルを変更し、

例えば、レベルのカスタマイズの設定で

デフォルトで無効になっている、この

[f:id:jack_sonic:20070606024610j:image]

「スクリプトを実行しても安全だとマークされていないActiveXコントロールの初期化とスクリプトの実行」

を”有効”にしたり

するなどして、

全体として安全が保証できないActiveXの実行が許されているような設定にしていれば、

ローカルでないインターネット上のJavaScriptからでも、

ActiveXを使わせてローカルファイルにアクセスすることが可能です。

正直、こちらの設定のほうが危険といえるでしょう。


つまり、

「ゾーンごとのActiveX実行に関するセキュリティ設定」が

一番のポイントであり、

危険かどうかは設定次第であり、どちらでも危険になりえます。

既定(はじめの)のセキュリティレベルが違うというだけとも

いえるかもしれません。

◎質問者からの返答

詳しい解説をありがとうございます!

ローカルとインターネットで設定が別々になっているというのを始めて知りました。ローカルとインターネットで、警告が出る・出ないというのは、ここの設定方法次第なのですね。


私が、ActiveXの理解をあまりしていないので、バクゼンとした言い方しかできないのですが、

ローカルの場合には、JavaScriptでのActiveXの呼び出しに関して、多くの権限が与えられているので、警告が出る、と言う理解でよいのでしょうか?

もう少し、JavaScriptとActiveXの勉強をしてみたいと思います。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ