私は何年も前に構築されたアプリケーションに取り組んでいますが、最近正しく動作しなくなりました。昔のプログラマーは、から変数を読み取らずに$_GETまたは変数にアクセスしている可能性があると言いましたが、$_POST$_GET[] arrayregister_globals
質問したいのは、配列$_GETを使用せずに変数にアクセスするさまざまな方法$_GET[](直接的な方法など) と、既知の場合、このアプリケーションがそれらのいずれかを使用しているかどうかを確認するにはどうすればよいかということです。
前もって感謝します
編集:私が覚えていた他の方法はregister_globals、ではなく、でしmagic_quotesた。また、私はそれを使用したくありませんが、それが使用され、最新のサーバー更新で廃止されたかどうかを検出します (アプリが正しく動作しなくなった理由を説明できるもの)
編集:今日の私の英語はひどいです。回答の1つで説明したように、元のプログラマーがクエリ文字列からPHPに変数を取得するためのあいまいなおよび/または非推奨の方法を使用したかどうかを確認する必要があるため、アプリケーションが現在使用している値が間違っている/初期化されていません
重要な編集:import_request_variablesテーブルから外れており、使用されていません。すべての$_配列もテーブルから外れています。これは、最新の更新でそれらが壊れていないためです (=>それらはまだ機能しています)。どの変数が で初期化されているかを検出するにはどうすればよいregister_globalsですか?
まだ別の編集:私はこれを見つけました:
foreach ($_POST as $k => $v) {
eval("\$".$k." = '".$v."';");
}
foreach ($_GET as $k => $v) {
eval("\$".$k." = '".$v."';");
}
最新の更新 (最大で 1 週間前)のいずれかによって壊れた可能性がありますか?