[PHP-users 2939] Re: FYI; from CERT/CC

Yasuo Ohgaki php-users@php.gr.jp
Fri, 19 Oct 2001 14:41:53 +0900


YAMADA Satoshi wrote:

> やまだ@神戸市です。
> 
> セキュリティホール memo でも紹介されたので
> ご存知の方もいらっしゃるかもしれませんが...
> 
>   Vulnerability Note VU#847803
>   Php variables passed from the browser are stored in global context:
>   http://www.kb.cert.org/vuls/id/847803
> 
> 個人的には半分言いがかりのような気が...


私はPHPを使いはじめたときから、track var=on, register globals=off
で使っています。(使いはじめてすぐにこれはセキュリティーホールにな
ると理解したので。歴史的な負の遺産だったのですが、PHPを使いはじめ
たときは、何故HTTP_*_VARSだけ使う設定がデフォルトではないのか理解
ができませんでした。)

確かに言語のデフォルト仕様ですが、最近本家のphp-dev@lists.php.net
で議論されてやはりグローバル変数としてクライントからの変数を登録す
るのはまずい、と言うことになりCVS版のソースではphp.ini-recommended
と言うファイルが作られています。(デフォルトでregister globals=off,etc)

# 多分、次のリリース(PHP-4.1.0)ではphp.ini-recommendedが
# php.ini0-distになりデフォルトになると思いますが、4.1.0は
# 元もと4.0.7としてリリースされる予定だったのでどうなるかは
# 微妙と思います。


このページもphp-devの議論を受けて作成されたのはないかと推測します。


私もregister globals=offは強くお勧めします。(ついでに、余分に変数
を初期化しない分、ほんの少しパフォーマンスも向上します)

--
Yasuo Ohgaki
yohgaki@dd.iij4u.or.jp



__________________________________________________
Do You Yahoo!?
Yahoo! BB is Broadband by Yahoo!  http://bb.yahoo.co.jp/