Gunakan fungsi filter_input() PHP untuk mengesahkan data yang dimasukkan oleh pengguna tunggal
Semasa membangunkan aplikasi web, keselamatan pengguna dimasukkan data adalah sangat penting. Untuk mengelakkan serangan berniat jahat dan kelemahan, kami perlu mengesahkan dan menapis data yang dimasukkan oleh pengguna dengan ketat. Fungsi filter_input() PHP menyediakan cara yang mudah tetapi berkuasa untuk mengesahkan dan menapis data yang dimasukkan pengguna.
Fungsi filter_input() boleh digunakan untuk mengesahkan pembolehubah superglobal (seperti $_GET, $_POST dan $_COOKIE) dan pembolehubah lain. Ia menapis data input mengikut peraturan penapis yang ditentukan dan mengembalikan nilai yang ditapis. Jika penapisan gagal, mengembalikan FALSE. Berikut ialah beberapa contoh peraturan penapis biasa:
$email = filter_input(INPUT_POST, 'email', FILTER_VALIDATE_EMAIL); if ($email) { echo "输入的电子邮件地址是有效的:$email"; } else { echo "输入的电子邮件地址无效"; }
Selain pengesahan input tunggal, kami juga boleh menggunakan fungsi filter_input_array() untuk mengesahkan set data input. Fungsi filter_input_array() boleh menerima tatasusunan bersekutu sebagai parameter untuk menentukan pembolehubah yang akan disahkan dan peraturan penapis yang sepadan. Berikut ialah contoh yang menunjukkan cara menggunakan fungsi filter_input_array() untuk mengesahkan set data input:
$filters = array( 'name' => FILTER_SANITIZE_STRING, 'age' => array( 'filter' => FILTER_VALIDATE_INT, 'options' => array( 'min_range' => 1, 'max_range' => 100 ) ), 'email' => FILTER_VALIDATE_EMAIL ); $input = filter_input_array(INPUT_POST, $filters); if ($input !== NULL && $input !== FALSE) { echo "验证通过"; } else { echo "输入数据有误"; }
Dalam contoh di atas, kami menggunakan tatasusunan bersekutu $filters untuk menentukan pembolehubah yang akan disahkan dan Peraturan penapis yang sepadan. Kami mengesahkan bahawa pembolehubah bernama "nama" mengandungi rentetan yang sah, kami mengesahkan bahawa pembolehubah bernama "umur" ialah integer antara 1 dan 100 dan kami mengesahkan bahawa pembolehubah bernama "e-mel" ialah alamat e-mel yang Sah. Kami kemudian menggunakan fungsi filter_input_array() untuk mengesahkan set data input yang diserahkan melalui kaedah POST dan memberikan hasil yang dikembalikan kepada pembolehubah $input. Jika pengesahan lulus, keluarkan "Pengesahan lulus", jika tidak keluarkan "Data input tidak betul".
Dengan menggunakan fungsi filter_input() atau fungsi filter_input_array() untuk pengesahan input, kami boleh melindungi aplikasi web dengan berkesan daripada potensi risiko keselamatan dan serangan kelemahan. Walaupun fungsi ini menyediakan beberapa keselamatan, masih disyorkan untuk meningkatkan keselamatan aplikasi secara keseluruhan bersama-sama dengan langkah keselamatan lain, seperti menggunakan pernyataan yang disediakan dan mengesahkan muat naik fail.
Atas ialah kandungan terperinci Sahkan data yang dimasukkan oleh pengguna tunggal menggunakan fungsi filter_input() PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!