[PHP-users 29886] Re: 文字列長オーバーフロー上限のチェックは必要あるか?
Yoshiro Kiyono
kiyono @ mediatie.com
2006年 7月 26日 (水) 11:30:15 JST
清野と申します。
> 元の方の質問は
> 「配列や文字列が実質持てるデータサイズ」についてですよね
>
> 堂前さんの回答がそれについてだとするならば、
> 私としては
> そんなのはPHP自体が管理する事であって
> スクリプトレベルでそんなこといちいち
> チェックするようなコーディングするのだろうか?
> もちろん入力データ長のチェックや
> DBテーブルに挿入するデータ長チェックはするでしょうが
> 内部で加工する際のデータ長をチェックする必要があるのだろうか?
> という疑問をもちました。
>
> みなさんそんなことされているんですか、
> 私自身大きな勘違い、見落としをしているのでしょうか?
あっていると思います。
自分でallocしたり、ソースコード上で定義したバッファに
オーバーフローするほどのデータが入らないように注意するのは
そのバッファをダイレクトに扱う人に責任であるはずです。
PHPの可変長文字列がオーバーフローするかどうかの責任は、
可変長文字列のためのバッファをダイレクトに扱うPHP言語の責任です。
少なくとも私は、PHPに用意されている可変長変数を使用する限りは、
そんなものをチェックすべきだとは思いません。
ただし、可変長の限度がちゃんと定義されていて、そのとき扱っている
スクリプトが、仕様上正常系の処理として、その限度に抵触するのであれば
話は別です。
--
清野 <kiyono @ mediatie.com>
> Setoです。ちょっと心配になってきたので便乗質問です。
>
> 元の方の質問は
> 「配列や文字列が実質持てるデータサイズ」についてですよね
>
> 堂前さんの回答がそれについてだとするならば、
> 私としては
> そんなのはPHP自体が管理する事であって
> スクリプトレベルでそんなこといちいち
> チェックするようなコーディングするのだろうか?
> もちろん入力データ長のチェックや
> DBテーブルに挿入するデータ長チェックはするでしょうが
> 内部で加工する際のデータ長をチェックする必要があるのだろうか?
> という疑問をもちました。
>
> みなさんそんなことされているんですか、
> 私自身大きな勘違い、見落としをしているのでしょうか?
>
>
> >堂前です
> >
> >> オーバーフローを起こしそうであれば、エラーにしたりすべ
> >> きなのでしょうか?ここだけ見ると、当然のようなのですが、それをやると、PHPの
> >> 生産性が奪われそうですし、遅くなりそうですし・・・
> >
> >自分は経験がないのすが、アタックされた結果システムダウンして
> >トラブったという経験を積めば、考えが変わるかと思います
> >#大きなお世話ですが、いろんなNews等でクラックされたと
> >#いう記事見て、何とも思わないのかな?
> >
> Junya Seto
PHP-users メーリングリストの案内