Windows Server 2008 IE のスクリプトエラー

2010/03/31
★★★

Windows Server 2008 等のサーバー OS 上で IE 等のブラウザを利用する機会はほとんどない(セキュリティの観点から、サーバー OS 上でのインターネット閲覧は、控えた方がよい。)。

ただ、時として、ドライバをダウンロードするために、インターネットサイトへアクセスすることもある。

その時に、アクセス先のサイトを "信頼済みサイト" に設定していてもブラウザの左下にスクリプトエラーのアイコンが表示され、画面が崩れて表示されたり、まったくページが表示されないことがある。

これは、"信頼済みサイト" に設定されたサイト外から、スクリプトを読み込むように作成されたページで発生する可能性が多い。

事実、Windows Server 2008 R2 のデフォルト設定の IE で、"http://www.microsoft.com" を信頼済みサイトに設定しても、以下のサイトにアクセスすると、左下のアイコンに "実行しましたが、ページでエラーが発生しました。" とエラーが発生していることがわかる。

http://www.microsoft.com

これを回避するためには、"インターネット" ゾーンの [レベルのカスタマイズ] -> [スクリプト] -> [アクティブ スクリプト] -> [有効にする] オプションにチェックし、[OK] -> [OK] で設定を確定する。

ページをリロードすれば、エラー無く、ページが表示されていることを確認し、必要な操作を行ったら、"インターネット" ゾーンのレベルをデフォルトにリセットする。

しかしながら、"信頼済みサイト" に設定してもなお、スクリプトエラーが発生してしまうのは、ブラウザの動作としてはまったく問題ない。このような動作は、スクリプトインジェクション等の攻撃にさらされ、悪意のあるコードが混入されてしまっているサイトの閲覧を回避するための仕様である。

つまり、複数のサイトに横断して、スクリプトを参照しているページ設計側の問題と考えられる。

複数のサイトに横断して、スクリプトを参照することを問題ないこととして設計を行うと、ユーザーは、ブラウザのセキュリティレベルを下げることになり、スクリプトインジェクション等の危険にさらされる。

"複数のサイトに横断して、スクリプトを参照しないよう設計する。"

セキュアな Web ページを作る際のガイドラインの一つとして覚えておこう。

ちなみに、http://www.microsoft.com では、"信頼済みサイト" として、"http://*.microsoft.com" と設定すれば、スクリプトエラーは発生しない。設計側ではなく、ユーザー側のリテラシーに依存した問題という側面もあるだろう。