REGISTER_GLOBALS が PHP のセキュリティ上の危険となるのはなぜですか?

Mary-Kate Olsen
リリース: 2024-10-27 01:14:03
オリジナル
638 人が閲覧しました

Why is REGISTER_GLOBALS a security hazard in PHP?

REGISTER_GLOBALS: PHP のセキュリティ上の危険

REGISTER_GLOBALS は、かつて PHP の物議を醸した機能であり、広範な非難を引き起こしました。その悪名高い評判は、それがもたらした固有のセキュリティ リスクに由来しています。

それで、REGISTER_GLOBALS の問題は何ですか?

REGISTER_GLOBALS は、すべての GET および POST リクエスト パラメータのグローバル変数を自動的に作成します。 、スクリプト内のどこからでもアクセスできるようになります。 PHP では、宣言されていない変数へのアクセスはエラーではなく単なる警告であるため、これは重大な脅威となります。

次の仮想コードを考えてみましょう:

<code class="php">// $debug = true;
if ($debug) {
    echo "query: $query\n";
}</code>
ログイン後にコピー

REGISTER_GLOBALS が有効になっていない場合、宣言されていない $query にアクセスします。変数を指定すると警告またはエラーが発生し、開発者は変数を明示的に定義するように求められます。ただし、REGISTER_GLOBALS をオンにすると、宣言されていない $query がグローバル変数として引き続き利用できるため、攻撃者がこの宣言されていないパラメータを悪用する潜在的な手段が生まれます。

本質的に悪いものではありませんが、REGISTER_GLOBALS は、一般的なセキュリティ上の欠陥を悪化させる可能性があります。品質が不十分なことが多いため、多くの PHP スクリプトが使用されています。そのため、セキュリティを強化するために REGISTER_GLOBALS を無効にすることが一般的に推奨されます。

以上がREGISTER_GLOBALS が PHP のセキュリティ上の危険となるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!