訂正
内容
えむけい様ご指摘により以下の文に誤りがあることがわかりました。訂正を入れてあります。えむけい様、ありがとうございます。http://d.hatena.ne.jp/hoshikuzu/20050310#D20050310UGOKUNAYO
終了区切り子のないもの
私が想定していたのは開始タグにおいて終了区切り子のない要素がブラウザによってまっとうな要素として解釈されるのは文法違反であろう、したがってブラウザはそのような挙動をとりやめるべきだ。さもないとそのことを意識していないサーバ側でのサニタイズにおいて漏れが生じやすい。というものでした。
これは間違いでした。
HTMLの基礎においてSGMLが、XHTMLの基礎においてXMLがあります。SGMLについては、きちんとした「どのように」終了区切り子を省略できるのかということが定式化されています。したがってHTMLにおいても終了区切り子の省略が文法上許容されます。ブラウザも実装することがあると思います。
従ってサーバサイドのアプリケーションで企図してユーザによる要素の記述を許す場合におけるサニタイズでは、ブラウザが終了区切り子のない開始タグを文法通り補完しきちんと要素として解釈する可能性を念頭にいれなくてはいけません。
<script type='text/javascript' src='./ex.js'</script<!--
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="(-- hidden --)"
xmlns:trackback="(-- hidden --)">
<rdf:Description
rdf:about="(-- hidden --)"
dc:identifier="(-- hidden --)"
dc:title="(-- hidden --)"
trackback:ping="(-- hidden --)" />
</rdf:RDF>
--><script>
<!--
//ここで無関係な何かをしている。
//-->
</script>
上でスクリプトが走ってしまうことがありうることをサーバサイドのアプリケーションでは認識しておかなくてはいけません。「ブラウザがヘタレで困る」という言い逃れは出来ないのです。残念ながらヘタレなブログを少なくともひとつ私は知っていますし、そのブログ内でも少なからず知られていることは既にこの日記でも書いたとおりです。
う〜ん。でも間違って解釈していて偶然にスクリプトが走っているブラウザもありそうな気も(汗)
■FirefoxとIEのInformationBar(情報バー)その2
FirefoxのInformationBarのマネをしているサイト
昨日ご紹介したサイトでもっと精緻なFirefox用の情報バーの模倣をデモしていました。
ビデオを見たいがプラグインが欠けているようだと、あたかもFirefoxのシステムからの通知であるかのように誘導された場合には、かなり怖いのかも知れません。Bugzillaで公開されているBug 252257 - security information bar is spoofableから拾ってきました。Bugzillaではいまいちの反応のようですが。
■プレステ2でP2P
P2P(peer 2 peer)のネットワークにプレステ2をクライアントとして接続してテレビで直接見てしまおうというプロジェクトがあるのを知りました。99%出来上がっているみたい。ネット上の動画で実演してた。その方面私全然知りませんのでどこまで本気でどこまで役立つのか不明です。個人的には興味ないです。
私に問い合わせしないでください。>ALL