ものがたり(旧)

atsushieno.hatenablog.com に続く

http://support.microsoft.com/kb/940521

去年の.NET Framework 2.0のセキュリティフィックスで、エンコーダ/デコーダで未定義の文字バイトに遭遇した時は、デフォルトではUTF8EncodingもUnicodeEncoding (utf-16)もString.Emptyを置換文字列とする[Encoder|Decoder]ReplacementFallbackを使用していたのを、"\uFFFD"を使用するようになった。つまり、不正な文字が入力中に含まれていた場合は、スキップするのではなくて、REPLACEMENT CHARACTERが代わりに埋め込まれるわけだ。

これは結局セキュリティの問題ということになってしまったわけで、そうなると今度は id:atsushieno:20050406:p2 はセキュリティ問題にはならないのかという疑念が生じてくる。siokoshouさんがid:siokoshou:20050412でマイクロソフト(日本法人かな)に問い合わせてセキュリティ上の問題ではないという回答を得ていたわけだけど*1、実際にはセキュリティ上の問題になると判断した方が妥当なのかもしれないな。国際化ドメインで使用されうる外観上区別が困難な文字列もセキュリティリスクとして評価される時代なわけだし。

*1:コメント欄にあるように、僕もそういう認識でいた