Penapisan Data PHP: Cara Mencegah Kebocoran Data Sensitif
Dengan perkembangan pesat Internet, kebocoran data telah menjadi ancaman keselamatan yang serius. Data yang dibocorkan termasuk maklumat sensitif seperti nombor ID peribadi, nombor akaun bank dan kata laluan Setelah diperoleh oleh penggodam, ia akan menyebabkan kerosakan serius kepada harta benda dan privasi pengguna. Semasa membangunkan tapak web atau aplikasi, data yang diserahkan pengguna mesti ditapis untuk mengelakkan kebocoran dan penyalahgunaan data sensitif. Artikel ini akan memperkenalkan beberapa kaedah dan langkah berjaga-jaga untuk penapisan data PHP, dan menggambarkannya dengan contoh kod.
(1) Untuk input teks, anda boleh menggunakan fungsi penapisan terbina dalam PHP, seperti fungsi htmlspecialchars()
untuk menukar aksara khas ke dalam entiti HTML , untuk mengelakkan serangan XSS. htmlspecialchars()
函数可以将特殊字符转换为HTML实体,防止XSS攻击。
$input = $_POST['content']; $filtered_input = htmlspecialchars($input);
(2)对于数字输入,使用filter_var()
函数可以对输入数据进行验证和过滤,如下例将一个输入的年龄过滤为一个合法的整数值:
$age = $_POST['age']; $filtered_age = filter_var($age, FILTER_VALIDATE_INT); if ($filtered_age === false) { // 非法的输入,进行相应处理 }
(1)使用正则表达式进行验证。例如,验证电话号码输入是否合法:
$phone = $_POST['phone']; if (!preg_match('/^[0-9]{3}-[0-9]{7}$/', $phone)) { // 非法的电话号码,进行相应处理 }
(2)使用PHP内置的过滤器对输入数据进行验证,如FILTER_VALIDATE_EMAIL
可以验证电子邮件地址的格式是否正确,FILTER_VALIDATE_URL
$email = $_POST['email']; if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { // 非法的电子邮件地址,进行相应处理 }
filter_var()
untuk mengesahkan dan menapis data input Contoh berikut menapis umur input ke dalam nilai integer sah: $pdo = new PDO('mysql:host=localhost;dbname=test', 'username', 'password'); $stmt = $pdo->prepare("INSERT INTO users (username, password) VALUES (:username, :password)"); $stmt->bindParam(':username', $username); $stmt->bindParam(':password', $password); $stmt->execute();
(1) Gunakan ungkapan biasa untuk pengesahan. Contohnya, sahkan sama ada input nombor telefon adalah sah:
$password = $_POST['password']; $hashed_password = password_hash($password, PASSWORD_DEFAULT);
(2) Gunakan penapis terbina dalam PHP untuk mengesahkan data input, seperti FILTER_VALIDATE_EMAIL
untuk mengesahkan sama ada format alamat e-mel adalah betul, FILTER_VALIDATE_URL
Boleh mengesahkan kesahihan alamat URL, dsb.
Atas ialah kandungan terperinci Penapisan Data PHP: Cara Mencegah Data Sensitif daripada Bocor. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!