問題タブ [register-globals]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
2259 参照

php - register_globals をオフにしてコードを機能させる

私は、使用するのが標準的だったときに書き戻されたレガシー PHP コードをいくつか継承しましたregister_globals(PHP 4.2.0 の時点で、このディレクティブはデフォルトでオフになり、2002 年 4 月 22 日にリリースされました)。

これを有効にするとセキュリティ上良くないことがわかりました。$_GET問題は、またはを使用する必要があるコード内のすべての場所をどのように見つけるか$_POSTです。私の唯一の考えは、初期化されていない変数について警告するようにエラー報告を設定し、サイトの各部分をテストすることでした。もっと簡単な方法はありますか?サイト内の各コード パスをテストする必要がありますか、それとも PHP はファイル単位で警告を出しますか?

0 投票する
4 に答える
10574 参照

php - なぜREGISTER_GLOBALSはそんなに悪いのですか?

私はPHP開発者ではありませんが、いくつかの場所で、人々がそれを疫病か何かのように扱っているように見えるのを見てきました。なんで?

0 投票する
2 に答える
174 参照

php - 表示されているregister_globals警告メッセージは何ですか?

ページの1つをcustomproofs.phpというページにリダイレクトします。

そのページにリダイレクトされると、次の警告メッセージが表示されます。

警告:不明:スクリプトは、PHP4.2.3まで存在していたセッションの副作用に依存している可能性があります。register_globalsが有効になっていない限り、セッション拡張機能はグローバル変数をデータのソースとは見なさないことに注意してください。この機能とこの警告を無効にするには、0行目の[不明]でsession.bug_compat_42またはsession.bug_compat_warnをそれぞれオフに設定します。

これは、php.iniファイルの何かを変更する必要があることを意味しますか?Webサーバー上の特定のフォルダーのphp.iniファイルを変更するにはどうすればよいですか?

メッセージが消えるように設定を変更していますか?なぜこのメッセージを受け取るのですか?

コードは現在のように正常に機能します。警告が表示されないように指示してもいいですか?

0 投票する
6 に答える
2781 参照

php - $_POST および連想配列内の variable 変数

私はおそらく少し太っていますが、これに対する答えが見つからないようです。register globals がオンになっているサーバーから、オフになっているサーバーに移動しています。それは良いことですが、残念なことに、私は何年にもわたってレジスタ グローバルを ON にして作業することに慣れてきたため、ずさんなコードを書くことになりました。私は今それを修正しようとしています。

$_POST 内に可変変数を持つ古いコードを書き直そうとしています。

これがばかげた例であることはわかっていますが、解決しようとしている問題を示しています。以下は、レジスタ グローバルがオンの場合に機能します。

register globals をオフにしてこれを機能させるにはどうすればよいですか? 以下は明らかに機能しません。

お手柔らかにお願いします - 私はおそらく私が愚かであることを知っていますが、私はこれについて頭を悩ませることができないようです.

0 投票する
2 に答える
25101 参照

php - PHPは、.htaccessを介してグローバルをオン/オフに登録します

2 つの異なるフォルダーに 2 つのスクリプトがあります。それらの 1 つはレジスタ グローバルをオンにし、もう 1 つはオフにする必要があります。

あるフォルダーで regsiter グローバルを有効にし、別のフォルダーで無効にすることはできますか? (たぶん .htaccess で?)

よろしく

0 投票する
5 に答える
1972 参照

php - PHP で $_GET 変数を取得する方法

私は何年も前に構築されたアプリケーションに取り組んでいますが、最近正しく動作しなくなりました。昔のプログラマーは、から変数を読み取らずに$_GETまたは変数にアクセスしている可能性があると言いましたが、$_POST$_GET[] arrayregister_globals

質問したいのは、配列$_GETを使用せずに変数にアクセスするさまざまな方法$_GET[](直接的な方法など) と、既知の場合、このアプリケーションがそれらのいずれかを使用しているかどうかを確認するにはどうすればよいかということです。

前もって感謝します

編集:私が覚えていた他の方法はregister_globals、ではなく、でしmagic_quotesた。また、私はそれを使用したくありませんが、それが使用され、最新のサーバー更新で廃止されたかどうかを検出します (アプリが正しく動作しなくなった理由を説明できるもの)

編集:今日の私の英語はひどいです。回答の1つで説明したように、元のプログラマーがクエリ文字列からPHPに変数を取得するためのあいまいなおよび/または非推奨の方法を使用したかどうかを確認する必要があるため、アプリケーションが現在使用している値が間違っている/初期化されていません

重要な編集import_request_variablesテーブルから外れており、使用されていません。すべての$_配列もテーブルから外れています。これは、最新の更新でそれらが壊れていないためです (=>それらはまだ機能しています)。どの変数が で初期化されているかを検出するにはどうすればよいregister_globalsですか?

まだ別の編集:私はこれを見つけました:

最新の更新 (最大で 1 週間前)のいずれかによって壊れた可能性がありますか?

0 投票する
5 に答える
1459 参照

php - register_globals を必要とする PHP スクリプトを見つける

オンにする必要があるコードで満たされた Web サーバーを継承しregister_globalsました。そのほとんどは、何年にもわたって行き来するランダムな人々によって書かれたカスタム コードです。私が知っているスクリプトでその大部分を修正しましたが、私の問題は、私が知らないスクリプトを見つけることです。

を必要とする PHP スクリプトを識別するために、Web サーバー上のすべてのディレクトリをスキャンするアプリケーションを作成することを検討していますregister_globals。これを行うための良い戦略はありますか?

私が検討した方法の 1 つは、何らかの形で PHP にすべてのエラーを報告させ、スクリプトを実行し、未定義の変数通知をチェックすることです。STDERRこのためにストリームを読み取るアプリケーションを構築できます。

あなたが考えることができるより良い方法はありますか?

0 投票する
3 に答える
2120 参照

php - 大きなphpプロジェクトをregister_globalsから_GET["param"]に変換します

私はかなり大きなphpサイトを持っています。これはphp4とregister_globalsを有効にするために書かれました。古いカスタムCMSです。今、私はregister_globalsなしでphp5ホスティングでそれを実行したいと思います。いくつかのスクリプトを使用して、パラメータ解析を$idから$_GET ["id"]に自動的に変更することは可能ですか?

wget -rこのサイトからパラメータ名を取得できます。

数十のphpスクリプトがあり、この変更を手動で行うのは簡単ではありません。

PS:更新:GET変数のみを変換したい。追加の行は$var_name = $_GET["var_name"]各パラメーター用です。<? ?>この行は、スクリプトの非常に高い位置に挿入する必要があります。たとえば、一番上に新しいセクションを追加します。