2008-07-06

Mark of the Web

IEはインターネットとローカルのHTMLファイルでは実行時のセキュリティレベルが違います、インターネット上のHTMLはインターネットゾーンで実行され、ローカルディスク上のHTMLはローカルイントラネットゾーンで実行されます。各ゾーンはIEの「インターネットオプション」→「セキュリティ」タブから変更することができます。

HTMLページを公開する場合、ユーザがダウンロードしてローカルディスク上で利用することも考慮する必要があります。その時、ローカルイントラネットゾーンで実行しては問題がある場合困ります。例えば安全でない外部ページを読み込むHTMLなどです。任意に読み込んだ外部ページにローカルディスクの情報を取得するコードが埋め込まれていた場合、問題が起こります。

そんな場合の為にIEではMark of the Webコードというのがあります。このコードをHTMLに埋め込むとセキュリティレベルをローカルイントラネットゾーンではなく、インターネットゾーンで実行することができます。ローカルイントラネットは制限が緩いので制限されたインターネットゾーンで実行させることでセキュリティを高めることが狙いのようです。詳細を知りたい方はMSDNを参照してください。

Mark of the Webコードは次のように書きます。

<!-- saved from url=(0017)http://yourdomain -->

コードはHTMLの先頭2048バイト以内に埋め込む必要があり、urlの先頭にある0017はURLの文字数です。http://yourdomain は17文字なので0017としています。urlは適当なものを指定できるようです。試しにhttp://aaaaa.com を指定してみましたが期待した通りに動きました。このURLはIEが持っている信頼済みサイトや制限付きサイトと関わりがあり、http://aaaaa.comを制限付きサイトに追加するとスクリプトが実行されなくなります。

Webページを公開する場合はとりあえず埋め込んでおくとよさそうです。

0 件のコメント: