Mengapa REGISTER_GLOBALS Dianggap sebagai Mimpi ngeri Keselamatan dalam PHP?

Barbara Streisand
Lepaskan: 2024-10-26 05:36:02
asal
188 orang telah melayarinya

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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!