Dalam PHP, pembolehubah superglobal ialah pembolehubah global yang boleh digunakan di mana-mana dalam skrip. Pembolehubah ini tidak perlu diisytiharkan untuk digunakan, ia dipratakrifkan dan telah dimulakan oleh PHP.
Pembolehubah superglobal PHP biasa termasuk $_GET, $_POST, $_COOKIE, $_SESSION, $_SERVER, dsb.
Kelebihan menggunakan pembolehubah super global ialah anda boleh mendapatkan data yang diserahkan dengan mudah melalui borang, maklumat penyemak imbas pengguna, dsb. Walau bagaimanapun, beberapa masalah mungkin berlaku semasa penggunaan, seperti:
Untuk mengelakkan ralat dengan pembolehubah superglobal, kita boleh mengambil langkah berikut:
Sebelum menggunakan superglobal variable , semak dahulu jika ia telah ditakrifkan dan tidak kosong. Ini boleh dicapai melalui fungsi isset() dan empty().
Sebagai contoh, kod berikut menyemak sama ada pembolehubah $_GET mengandungi parameter bernama "id":
if(isset($_GET['id']) && !empty($_GET['id'])) { // 处理 $_GET['id'] 变量 }
Apabila menggunakan pembolehubah superglobal, anda mesti ingat untuk tidak menghantar data yang tidak ditapis terus ke pangkalan data atau operasi sensitif lain, jika tidak, isu keselamatan seperti suntikan SQL mungkin berlaku. Anda boleh menggunakan fungsi penapis terbina dalam PHP, seperti addslashes(), htmlentities(), dsb.
Sebagai contoh, kod berikut boleh menapis pembolehubah $_POST menggunakan fungsi addslashes():
$username = addslashes($_POST['username']); $password = addslashes($_POST['password']);
Jika pembolehubah superglobal Untuk menghantar maklumat sensitif, adalah disyorkan untuk menggunakan protokol HTTPS untuk penghantaran disulitkan untuk menyelesaikan masalah data yang diganggu atau dicuri. Anda boleh melakukan ini dengan mengkonfigurasi tapak web anda untuk menggunakan sijil SSL/TLS.
PHP 7 memperkenalkan ciri baharu yang dipanggil mod ketat (strict_types). Selepas mendayakan mod ketat, PHP akan menyemak jenis data dengan lebih ketat, mengurangkan pepijat yang disebabkan oleh ralat penukaran jenis. Mod ketat boleh didayakan dengan menambahkan kod berikut pada kepala fail PHP:
declare(strict_types=1);
Ringkasnya, apabila menggunakan pembolehubah superglobal PHP, pastikan anda memberi perhatian kepada keselamatan dan ketekalan. Lakukan penapisan dan pengesahan data yang ketat, serta ikuti amalan terbaik untuk melindungi data program dan pengguna.
Atas ialah kandungan terperinci Bagaimana untuk mengelakkan ralat pembolehubah super global php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!