<$MTPingURL encode_xml="1"$> の重要性

http://hxxk.jp/2004/12/26/0057

記事データ

投稿者

望月真琴

投稿日時

2004-12-26T00:57+09:00

タグ
概要

<$MTPingURL$> 記述していた部分を <$MTPingURL encode_xml="1"$> に変更しましたよというお知らせと、 Content-Type を application/xhtml+xml にしている人は該当部分を同じようにしておかないと、パースエラーになってしまう可能性がありますよというお話。

リプライ

4 件のリプライがあります。

記事本文

擬似要素と擬似クラスから、 :before 擬似要素 / :after 擬似要素の活用例に対するトラックバックをいただいて初めて気が付いたのですが、テンプレートにミスがあったので修正しました。

hxxk.jp では Another HTML-lint と text/html と XHTML 1.1 - IE にのみ text/html を指定するで書いた通り、 IE 以外には HTTP ヘッダの Content-Type を application/xhtml+xml として送出しており、 Mozilla Firefox などでは XML 文書の検証を行った上で表示するようになっています。 もし well-formed でない場合、または & をエスケープしていない場合などにはパースエラーを返してくれるので、なかなか重宝しているのですが……。

自分が書いた文章内のエラーを発見するのには良いのですが、外部から送られてくるデータ、たとえば ping URI が正にそうですが、仮にエラーとなる要因が含まれていても修正をすることができません。 そして、 & を含む URI から ping が送られてくることは充分にありえることであり、それに対する処置を怠っていたことによるパースエラーは、私の責任です。

要するに、 <$MTPingURL$> と記述していた部分を <$MTPingURL encode_xml="1"$> に変更しましたよというお知らせと、 Content-Type を application/xhtml+xml にしている人は該当部分を同じようにしておかないと、パースエラーになってしまう可能性がありますよというお話。

リプライ

4 件のリプライが送られています。

2004-12-26T13:35+09:00 - No beer, No Name!

お手数おかけしました。このエントリを読んでふと気付いたのですが、閲覧者による記述がありうるWeblogや掲示板の「URI/URL欄」でも同じことが言えますね。自サイトの運営上でも気をつけたいと思います(張本人が言うセリフではない気がしますが)。

2004-12-26T13:39+09:00 - Tatsuki

あ、上記のNo564コメントはTatsukiの書き込みです。Previewを見た後そのまま送信したらAnonymousになってしまいました。こんなことばっかりですみません。

2004-12-26T18:48+09:00 - 真琴

あれ、プレビューで投稿者名が Anonymous になってしまう部分は修正していたつもりだったんですが……。 時間のある時に調べねば。 ( 今日はこれから所用で外出します ) このエスケープに件は MT に限った問題ではないのですが、 application/xhtml+xml で作成しているものの絶対数がまだまだ少ないため、あまり問題視されないのかもしれません。

2004-12-26T18:51+09:00 - 真琴

これは今後の自分用検討課題メモです。 encode_xml="1" と encode_html="1" の使い分けと、テンプレートによってエスケープをしているものしていないものがあるのでそれの統一。 また、当初は記事タイトルを記述する時点で手動で数値参照にしていた部分があるので、全てのテンプレートにてエスケープが完了したら、記事タイトルも修正すること。

この記事に対するご意見やご質問、ご感想などありましたらこのフォームに簡潔に記入して下さい。 簡潔に記入できない場合や、関連記事にてご意見をお寄せいただく場合は、ご自身の weblog にて記事を書かれた上で あてにトラックバックとして送信してください。

記入フォーム

補足情報

著作、講演、制作実績など