Kaedah pengesahan input PHP: Gunakan fungsi terbina dalam PHP (filter_var, preg_match), gunakan ungkapan biasa (seperti mengesahkan kekuatan kata laluan), gunakan senarai putih atau senarai hitam (had atau larang nilai input tertentu)
Pengesahan input PHP adalah betul Amalan
Pengesahan input adalah penting dalam aplikasi web kerana ia menghalang input berniat jahat atau tidak sah daripada menyebabkan kemudaratan kepada aplikasi. PHP menyediakan pelbagai fungsi dan teknik terbina dalam untuk mengesahkan input dengan cekap.
1. Gunakan fungsi terbina dalam PHP
PHP mempunyai beberapa fungsi berguna untuk menapis dan mengesahkan input, seperti:
// 过滤用户输入中的 HTML 标记 $filtered_input = filter_var($_POST['input'], FILTER_SANITIZE_SPECIAL_CHARS); // 验证电子邮件地址 $is_email_valid = filter_var($_GET['email'], FILTER_VALIDATE_EMAIL);
2. boleh digunakan untuk mengesahkan input yang kompleks. Begini cara untuk mengesahkan kekuatan kata laluan menggunakan ungkapan biasa:
function validate_password($password) { $regex = '/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*]).{8,}$/'; return preg_match($regex, $password); }
3. Gunakan senarai putih atau senarai hitam
Jika input mempunyai nilai yang dibenarkan atau tidak dibenarkan yang jelas, anda boleh menggunakan senarai putih atau senarai hitam untuk mengesahkan.
Senarai putih:
Hanya benarkan nilai tertentu lulus. Sebagai contoh, kod berikut hanya membenarkan buah-buahan tertentu untuk dimasukkan:$allowed_fruits = array('apple', 'banana', 'orange'); if (in_array($_GET['fruit'], $allowed_fruits)) { // 输入有效 }
$disallowed_keywords = array('spam', 'malware', 'virus'); if (stripos($_POST['comment'], $disallowed_keywords) !== false) { // 输入无效 }
Berikut ialah contoh kod untuk borang pendaftaran pengguna yang menunjukkan cara menggunakan pengesahan input PHP:
<?php // 验证用户输入 $errors = array(); if (empty($_POST['username'])) { $errors[] = '用户名不能为空'; } if (!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) { $errors[] = '无效的电子邮件地址'; } if (!validate_password($_POST['password'])) { $errors[] = '密码强度不足'; } // 处理已验证的输入 if (empty($errors)) { // 注册用户 } ?>
Atas ialah kandungan terperinci Pendekatan yang betul untuk pengesahan input PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!