Pembolehubah superglobal dalam PHP merujuk kepada pembolehubah yang boleh diakses dalam skop global Setiap pembolehubah superglobal ialah tatasusunan bersekutu, yang mengandungi banyak pembolehubah yang dipratentukan dalam PHP, seperti $_GET, $_POST, $_COOKIE dan sebagainya. Pembolehubah superglobal ini sangat penting dalam pembangunan web kerana ia menyediakan cara penting untuk mendapatkan maklumat daripada permintaan pengguna, seperti mendapatkan data borang, mendapatkan parameter URL, dsb.
Artikel ini akan memperkenalkan secara terperinci pembolehubah superglobal yang biasa digunakan dalam PHP, termasuk fungsinya, cara menggunakannya dan cara mengelakkan isu keselamatan.
1. $_GET
$_GET ialah tatasusunan bersekutu yang mengandungi semua parameter yang melalui URL. Sebagai contoh, jika URL yang diminta ialah http://example.com/index.php?name=John&age=25, maka tatasusunan $_GET akan mengandungi elemen berikut:
array( 'name' => 'John', 'age' => '25' );
Kita boleh mengaksesnya dalam cara berikut Nilai ini:
echo $_GET['name']; // 输出 'John' echo $_GET['age']; // 输出 '25'
2. $_POST
$_POST juga merupakan tatasusunan bersekutu yang mengandungi semua data borang yang diserahkan melalui kaedah POST. Kita boleh menggunakannya untuk mendapatkan data daripada borang, seperti yang ditunjukkan di bawah:
<form action="process.php" method="post"> <input type="text" name="name" /> <input type="submit" value="Submit"> </form>
Apabila menyerahkan borang, kita boleh menggunakan pembolehubah super global $_POST untuk mendapatkan data yang diserahkan:
echo $_POST['name'];
3. $_COOKIE
$_COOKIE ialah tatasusunan bersekutu yang mengandungi semua kuki yang dihantar dalam permintaan semasa. Dalam kebanyakan kes, kita boleh menggunakan pembolehubah $_COOKIE untuk membaca kuki yang ditetapkan sebelum ini.
setcookie('name', 'John', time() + (86400 * 30), '/');
Ini akan menetapkan kuki dalam penyemak imbas pengguna bernama "nama" dengan nilai "John" dan akan tamat tempoh dalam masa 30 hari. Kita boleh menggunakan kod berikut untuk membaca nilai kuki:
echo $_COOKIE['name'];
4. $_SESSION
$_SESSION ialah tatasusunan bersekutu yang mengandungi semua pembolehubah yang disimpan semasa sesi pengguna. Apabila pengguna melawat tapak web anda, $_SESSION ialah satu-satunya perkara yang membezakan seorang pengguna daripada pengguna yang lain.
Untuk menyimpan data dalam Sesi, anda boleh menggunakan kod berikut:
session_start(); $_SESSION['name'] = 'John';
Dengan cara ini, kami boleh mengekalkan keadaan nilai tertentu sepanjang sesi:
session_start(); echo $_SESSION['name']; // 输出 'John'
5. $_SERVER
$_SERVER ialah tatasusunan yang mengandungi maklumat berkaitan pelayan dan klien apabila skrip semasa sedang dijalankan. Dengan menggunakan $_SERVER, kami boleh mengetahui beberapa maklumat yang diminta oleh pelanggan, seperti:
Maklumat ini sangat berguna untuk pembangun.
6. $_FILES
$_FILES ialah tatasusunan yang mengandungi maklumat tentang fail dalam muat naik fail. Semasa memuat naik fail, anda boleh menggunakan $_FILES untuk mengendalikan fail yang dimuat naik.
Anda boleh menggunakan kod berikut untuk mencetak nilai $_FILES:
print_r($_FILES);
Ini akan mengeluarkan tatasusunan yang mengandungi maklumat fail, contohnya:
Array ( [file] => Array ( [name] => file.txt [type] => text/plain [tmp_name] => /tmp/phpzAduR5 [error] => 0 [size] => 123 ) )
7 isu keselamatan
Pembolehubah superglobal didayakan secara lalai dalam PHP dan pembangun boleh menggunakannya untuk mendapatkan data dengan mudah dalam permintaan web. Walau bagaimanapun, mereka juga merupakan sumber kelemahan keselamatan.
Penyerang boleh menggunakan pembolehubah superglobal dalam permintaan web untuk menyuntik kod hasad atau mencipta kelemahan dalam aplikasi web. Oleh itu, pembangun harus mengambil langkah berikut untuk melindungi tapak web mereka:
Ringkasan
Menggunakan pembolehubah superglobal dalam PHP boleh mendapatkan data dalam permintaan web dengan mudah. Pembangun harus memahami pembolehubah ini dengan teliti dan menggunakannya dalam mencipta aplikasi web. Walau bagaimanapun, pembangun juga harus memahami risiko keselamatan pembolehubah superglobal dan mengambil langkah yang perlu untuk memastikan keselamatan aplikasi.
Atas ialah kandungan terperinci Cara menggunakan pembolehubah superglobal dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!