現在オフラインです。再接続するためにインターネットの接続を待っています

通常とは異なる記述の javascript: プロトコルが実行される

サポート期間が終了した「サポート技術情報」資料に関する免責事項
この資料は、マイクロソフトでサポートされていない製品について記述したものです。そのため、この資料は現状ベースで提供されており、今後更新されることはありません。
概要
通常の記述方法では、javascript を <a> タグ内に含める際などに、javascript: と記述しますが、javas&#09;cript: と記述した場合にもスクリプトが実行されます。
詳細
再現手順:
  1. 下記の HTML ファイルを作成します。
    <HTML>
    <BODY>
    <A href="/?scid=javasc%26amp%3b%2309%3bript%3aalert%28%27test%27%29">test</A>
    </BODY>
    </HTML>
  2. 上記の HTML ファイルを開き、test をクリックします。結果:アラートのダイアログが表示され、スクリプトが実行されます。
原因
&#(10進数の数字); といった記述方法では、Internet Explorer は &#09; を水平タブと解釈しますが、HTML 内で水平タブは無視されるため、javascript が実行されます。
この記述法ではなく、通常の水平タブを javascript: 内に挿入した場合にもこの現象は発生します。
解決方法
IMG タグの SRC プロパティなどでも本現象は発生し、スクリプトが実行されます。
従いまして、スクリプトの実行を防ぐためにはサーバー側で IMG タグの SRC プロパティに javascript:などのプロトコルが設定されないような設計をされることをお勧めいたします。
プロパティ

文書番号:906522 - 最終更新日: 09/05/2005 06:52:55 - リビジョン: 4.0

Microsoft Internet Explorer (Programming)

  • kbinfo kbhowto KB906522
フィードバック
html>