PHP kini merupakan bahasa sebelah pelayan yang paling popular, tetapi semasa digunakan, kadangkala kita perlu mengosongkan atau menetapkan semula nilai yang diluluskan untuk mengelakkan beberapa keputusan yang tidak dijangka atau salah. Artikel ini akan menerangkan cara mengosongkan nilai yang diluluskan dalam PHP dan menyediakan beberapa senario biasa untuk mengosongkan nilai.
Apakah nilai yang diluluskan?
Dalam PHP, nilai yang diluluskan merujuk kepada data yang disimpan dalam pembolehubah super global. Pembolehubah super global ialah jenis pembolehubah khas yang boleh digunakan dalam mana-mana skop, termasuk dalam fungsi, fungsi luar, dalam kelas dan kelas luar. Beberapa pembolehubah super global yang biasa termasuk $_GET, $_POST, $_COOKIE, $_SESSION, dsb.
Pembolehubah super global dihantar ke pelayan melalui permintaan HTTP. Contohnya, apabila anda menyerahkan data melalui borang, data tersebut dihantar ke pelayan sebagai sebahagian daripada permintaan HTTP GET atau POST yang dihantar daripada penyemak imbas. Pelayan menghuraikan permintaan menggunakan PHP dan menyimpan nilai yang diluluskan dalam pembolehubah super global supaya ia boleh digunakan dalam skrip.
Anda mungkin perlu mengosongkan atau menetapkan semula nilai yang diluluskan apabila perlu. Berikut ialah beberapa situasi di mana anda mungkin mahu melakukan ini:
Serangan XSS ialah sejenis serangan yang berlaku dengan menyuntik skrip berniat jahat ke dalam teknik aplikasi web untuk menyerang pengguna. Penyerang boleh menyuntik kod JavaScript ke dalam penyemak imbas pengguna untuk memaksa pelaksanaan sebarang kod. Untuk tapak web PHP, parameter lulus yang kerap digunakan telah terbukti sebagai kaedah serangan biasa.
Kadangkala, anda mungkin menerima ralat atau nilai yang salah. Dalam kes ini, anda perlu melumpuhkan atau mengosongkan nilai yang diluluskan untuk mengelakkan hasil yang salah atau salah.
Jika anda menggunakan cache, anda perlu mengosongkan nilai yang diluluskan jika perlu. Jika tidak, anda mungkin menghadapi data lama atau tidak betul yang dipaparkan pada halaman web yang dicache.
Cara mengosongkan nilai yang diluluskan
Terdapat dua cara untuk mengosongkan nilai yang diluluskan. Kaedah pertama ialah menggunakan fungsi unset(). Fungsi unset() memadamkan pembolehubah yang ditentukan. Contohnya:
unset($_GET['id']);
Dalam contoh ini, kami menggunakan fungsi unset() untuk memadamkan pembolehubah "id" dalam tatasusunan $_GET. Selepas larian, pembolehubah tidak lagi tersedia dan nilainya telah dipadamkan.
Kaedah kedua ialah menetapkan nilai yang diluluskan kepada NULL. Contohnya:
$_GET['id'] = NULL;
Dalam contoh ini, kami menetapkan pembolehubah "id" dalam tatasusunan $_GET kepada NULL. Selepas dijalankan, nilai $_GET['id'] tidak akan mempunyai pembolehubah, tetapi pembolehubah itu masih wujud.
Sepatutnya tiada perbezaan prestasi yang ketara antara menggunakan fungsi unset() dan menetapkan pembolehubah kepada NULL. Walau bagaimanapun, dalam kes menggunakan fungsi unset(), anda perlu memastikan bahawa pembolehubah ditakrifkan. Jika tidak, anda akan mendapat ralat "Pembolehubah tidak ditemui".
Kosongkan pembolehubah super global
Selain menggunakan fungsi unset() dan menetapkan pembolehubah kepada NULL, anda juga boleh menggunakan pembolehubah super global untuk mengosongkan nilai yang diluluskan.
Sebagai contoh, jika anda ingin memadamkan semua kunci dan nilai dalam tatasusunan $_POST, $_GET, $_COOKIE dan $_SESSION, anda boleh menggunakan kod berikut:
$_POST = array(); $_GET = array(); $_COOKIE = array(); $_SESSION = array();
Selepas berjalan, semua Nilai dalam tatasusunan pembolehubah super global akan dikosongkan.
Selain itu, menggunakan pembolehubah super global akan memudahkan anda mengendalikan nilai yang diluluskan dalam kod anda. Sebagai contoh, anda boleh menggunakan kaedah berikut untuk menyemak sama ada pembolehubah $_POST['submit'] wujud:
if(isset($_POST['submit'])){ // 在这里添加您的代码 }
Dalam contoh ini, kami menggunakan pernyataan if untuk menyemak sama ada nama "submit" wujud dalam kekunci tatasusunan $_POST. Jika ada, kod akan dilaksanakan.
Kesimpulan
Mengosongkan nilai lulus mungkin menjadi kunci untuk menjadikan tapak web PHP anda lebih selamat, boleh dipercayai dan stabil. Sama ada ia menghalang serangan skrip merentas tapak atau mengelakkan penggunaan nilai yang tidak sesuai, mengosongkan nilai yang diluluskan boleh menjadi bantuan besar. Anda boleh mengosongkan nilai yang diluluskan dengan mudah dan menjadikan skrip PHP anda lebih mantap dengan menggunakan fungsi unset(), menetapkan pembolehubah kepada NULL, atau menggunakan tatasusunan superglobal.
Atas ialah kandungan terperinci Bagaimana untuk mengosongkan nilai yang diluluskan dalam php? Perkongsian situasi biasa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!