[PHP-dev 1478] Re: UTF-8文字の長さ

Tatsuo Ishii t-ishii @ sra.co.jp
2009年 4月 15日 (水) 16:35:35 JST


石井です。

資料を読んだ限りでは、UTF-8でU+10FFFF以上を容認する際の脆弱性リスクと
しては、「4バイトしか用意していないバッファに5バイト入れてしまった」と
いうような、(非常に初歩的な)バッファオーバラン的な問題以外は無いよう
に思います。

だとすると、脆弱性の観点と、「U+10FFFF問題」は切り離して議論した方が建
設的ではないでしょうか。
--
Tatsuo Ishii
SRA OSS, Inc. Japan

> 大垣です。
> 
> 文字エンコーディングの解釈が違ったり、いい加減だったりすることが原因で
> 脆弱性がよく発生します。
> 
> 私用領域が使えなくなるのは分かりますが、規格が変ったら合わせておかないと
> 予期しない脆弱性の原因になります。
> 
> 現状、この領域は私的でも使っている方はいるのでしょうか?
> 
> いるのであれば、compatibility_mode=offがデフォルト、onなら5,6バイトでもOK
> とするのが良いのでは無いでしょうか?
> 
> --
> Yasuo Ohgaki
> 
> 2009/04/15 13:30 Tomoyuki Asakawa <tom @ asakawa.ne.jp>:
> > あさかわ
> >
> >
> >> という考え方も成り立つと思います(PHPの実装を良く理解しているわけではな
> >> いので、そもそもこういう使い分けが成り立つのかどうか分からないのですが)。
> >> しかし、絶対UTF-8に制限を加えるべきではない、とまでは思いません。
> >>
> >> # ちなみに、PostgreSQLでは、UTF-8を入力する際にU+10FFFF以下かどうかの
> >> # チェックを行なう実装になっています。私が実装したところではないので、
> >> # 背後にある考え方はわかりません。
> >
> > PHP側にも、中途半端な制限がいろいろあるので、PHPや、DBに限らず。
> > いわゆる、内部コードとして、使用する可能性のある環境つまり
> > 言語や、データベースエンジンレベルで、制限するべきではないと思います。
> > せめて、その制限を、プログラマの意志で、解除できるべきであると思います。
> >
> > 制限は、アプリケーションレベルでするべきです。
> > そうじゃないと、私用領域の、データを格納できなくなる(実際になってる)
> >
> >
> > _______________________________________________
> > PHP-dev mailing list
> > PHP-dev @ php.gr.jp
> > http://ml.php.gr.jp/mailman/listinfo/php-dev
> >
> _______________________________________________
> PHP-dev mailing list
> PHP-dev @ php.gr.jp
> http://ml.php.gr.jp/mailman/listinfo/php-dev


PHP-dev メーリングリストの案内