Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Mengapa REGISTER_GLOBALS bahaya keselamatan dalam PHP?

Mengapa REGISTER_GLOBALS bahaya keselamatan dalam PHP?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-27 01:14:03639semak imbas

Why is REGISTER_GLOBALS a security hazard in PHP?

REGISTER_GLOBALS: Bahaya Keselamatan PHP

REGISTER_GLOBALS pernah menjadi ciri kontroversi dalam PHP, menyebabkan kutukan yang meluas. Reputasi terkenalnya berpunca daripada risiko keselamatan yang wujud.

Jadi, Apakah Masalah dengan REGISTER_GLOBALS?

REGISTER_GLOBALS secara automatik mencipta pembolehubah global untuk semua parameter permintaan GET dan POST , menjadikannya boleh diakses di mana-mana dalam skrip. Ini menimbulkan ancaman ketara kerana mengakses pembolehubah tidak diisytiharkan hanyalah amaran dalam PHP, bukan ralat.

Pertimbangkan kod hipotesis berikut:

<code class="php">// $debug = true;
if ($debug) {
    echo "query: $query\n";
}</code>

Tanpa REGISTER_GLOBALS didayakan, mengakses $query yang tidak diisytiharkan pembolehubah akan mengakibatkan amaran atau ralat, mendorong pembangun untuk mentakrifkan pembolehubah secara eksplisit. Walau bagaimanapun, dengan REGISTER_GLOBALS dihidupkan, $query yang tidak diisytiharkan akan tetap tersedia sebagai pembolehubah global, mewujudkan peluang yang berpotensi untuk penyerang mengeksploitasi parameter yang tidak diisytiharkan ini.

Walaupun tidak begitu buruk, REGISTER_GLOBALS boleh memburukkan lagi kelemahan keselamatan yang berleluasa dalam banyak skrip PHP kerana kualitinya yang sering kurang. Oleh itu, biasanya disyorkan untuk melumpuhkan REGISTER_GLOBALS untuk keselamatan yang dipertingkatkan.

Atas ialah kandungan terperinci Mengapa REGISTER_GLOBALS bahaya keselamatan dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn