09/02/01 21:51:29 vzBROa/z0
>>942
ちょっと言葉が足りませんでしたので、補足します。
>939の検証の意図は「ブラウザがどのscriptタグを開始タグ、終了タグと見なしているか確認すること」にありました。
■終了タグをケース別に見た場合
1. 「</script」を終了タグと認識するケース
「<script type='text/javascript'>...</script」がブラウザのJavaScriptを実行する部分になるので、
下記のようにタグを閉じてしまい、alert('test2'); が実行されない挙動になります。
<script type='text/javascript'>
document.write('<script ' + 'type="text/javascript">alert("test1");</script' + '>');
2. 「</script」を終了タグと認識しないケース
「<script type='text/javascript'>...</script>」がブラウザのJavaScriptを実行する部分になるので、すべてのalert()が実行されます。
■結果
2つとも alert() が実行されたため、「2. のケース」であると判断しました。(開始タグに関しても同様に判断できます)
次にブラウザの挙動に合わせてフィルタを作り替えてみましょう、という流れです。
HTMLの仕様をみれば、</script が終了タグと見なされるはずはないのですが、
実際に動かしてみると規格外な動作をすることもあるので、念のため確認しています。
こんな説明でいいでしょうか?