検索バーを使用してStack Overflowを検索しましたが、これらをオンにするのは悪いことであると述べている投稿が4つしかありません。
理由について完全な理由はありませんか?
だから私はこの質問を投稿して、次のことを見つけます:
なぜこれらの行為は悪いことなのですか?彼らはあなたのサーバーも開放するどんなリスクがありますか?
PHP のスーパーグローバルがそれほど欠点であるのに、なぜまだ残っているのでしょうか?
それらは何に使用できますか?
検索バーを使用してStack Overflowを検索しましたが、これらをオンにするのは悪いことであると述べている投稿が4つしかありません。
理由について完全な理由はありませんか?
だから私はこの質問を投稿して、次のことを見つけます:
なぜこれらの行為は悪いことなのですか?彼らはあなたのサーバーも開放するどんなリスクがありますか?
PHP のスーパーグローバルがそれほど欠点であるのに、なぜまだ残っているのでしょうか?
それらは何に使用できますか?
スーパーグローバル は悪くなく、常にオンになっています。$_GET
それらがなければ、やなどにアクセスできません$_POST
。
PHP 5.3 で廃止され、PHP 5.4 で削除されたRegister Globalsについて話しているのではないかと思います。彼らは明らかに悪いです。誰でもコード内で任意のグローバル変数をインスタンス化できます。ドキュメントに独自のページを含めて、なぜそれらが悪いのかについて、多くの情報が飛び交っています。
register_globals
それ自体は問題ありません。
以下の組み合わせです。
グローバル スコープですべてのコードを実行する
変数を初期化しない
その後、ランダム変数が外部入力 (register_globals) から発生します。
悲しいことに、これは一般的なケースであり、PHP3/PHP4 の時代にどのように使用されたかです。これが、過度に一般化されたミーム「register_globals は悪い」が実際に正しい理由です。
それらを有効にして完全に正気のコードを書くことはできますが、それは不必要な落とし穴です。