9

register_globalsPHPで静的コード分析を行い、イニシアチブへの依存を検出する方法はありますか?ファイルを手動で調べて、初期化されていない変数を探し、それらがそれに依存している可能性があることを推測するのは比較的簡単ですが、何百ものスクリプトに対してこれを行う必要があるため、自動化されたソリューションを探しています。

私の最後の手段は、ディレクティブをオフにして厳密なエラー報告を行い、QAを長時間再生させてから、エラーログがキャッチするインスタンスを修正する開発環境をセットアップすることですが、これで100%のケースが見つかるとは限りません。 、そして自動化されたソリューションが存在する場合、確かにリソースの適切な使用ではありません。

4

3 に答える 3

0

これはうまくいくはずです(phpマニュアルコメントの1つから):

if (ini_get('register_globals')) {
    foreach ($GLOBALS as $int_temp_name => $int_temp_value) {
        if (!in_array($int_temp_name, array (
                'GLOBALS',
                '_FILES',
                '_REQUEST',
                '_COOKIE',
                '_SERVER',
                '_ENV',
                '_SESSION',
                ini_get('session.name'),
                'int_temp_name',
                'int_temp_value'
            ))) {
            unset ($GLOBALS[$int_temp_name]);
        }
    }
}
于 2012-08-07T15:20:18.453 に答える