Rumah >pembangunan bahagian belakang >tutorial php >Mengapa REGISTER_GLOBALS Dianggap sebagai Mimpi ngeri Keselamatan dalam PHP?

Mengapa REGISTER_GLOBALS Dianggap sebagai Mimpi ngeri Keselamatan dalam PHP?

Barbara Streisand
Barbara Streisandasal
2024-10-26 05:36:02286semak imbas

Why is REGISTER_GLOBALS Considered a Security Nightmare in PHP?

REGISTER_GLOBALS: Mengapa Ia Dihina?

Bagi pembangun PHP yang kerap, sebutan sahaja REGISTER_GLOBALS membangkitkan reaksi mendalam, serupa dengan pertemuan dengan wabak. Tetapi mengapa keengganan yang kuat terhadap tetapan tertentu ini?

Bahaya REGISTER_GLOBALS

REGISTER_GLOBALS membenarkan semua pembolehubah yang diluluskan melalui GET atau POST boleh diakses sebagai pembolehubah global dalam skrip . Ciri yang kelihatan tidak berbahaya ini mempunyai ancaman tersembunyi.

Mengakses pembolehubah yang tidak diisytiharkan dalam PHP hanya mencetuskan amaran, bukan ralat. Akibatnya, ini boleh mewujudkan tempat pembiakan untuk kelemahan berbahaya.

Contoh Ilustrasi

Pertimbangkan coretan kod berikut:

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

Jika $ pertanyaan tidak diisytiharkan secara eksplisit, kod di atas akan mengeluarkan nilai pembolehubah GET atau POST bernama "pertanyaan" tanpa ralat. Walaupun ini mungkin tidak menimbulkan ancaman serta-merta, kod PHP yang direka dengan buruk, malangnya, adalah kejadian biasa.

Dalam senario sedemikian, REGISTER_GLOBALS boleh memperkenalkan kesan sampingan yang tidak diingini dan kelemahan keselamatan yang sebaliknya akan mudah dilihat sebagai ralat.

Kesimpulan

Walaupun tidak sememangnya berniat jahat, REGISTER_GLOBALS telah terbukti menjadi punca penting isu keselamatan dan kestabilan dalam pangkalan kod PHP. Akibatnya, ia telah memperoleh reputasinya yang terkenal dan pembangun telah sebulat suara bersetuju untuk menganggapnya sebagai tetapan pariah.

Atas ialah kandungan terperinci Mengapa REGISTER_GLOBALS Dianggap sebagai Mimpi ngeri 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