Hướng dẫn dùng filter types trong PHP
Trong các bài đọc trước, chúng ta đã biết phương pháp xác thực dữ liệu form bằng PHP, chúng ta cũng biết cách sử dụng các hàm xác thực dữ liệu của PHP (như Trong bài đọc này, chúng ta sẽ làm quen thêm một phương pháp để lọc dữ liệu người dùng, đó là sử dụng các chức năng filters trong PHP. Tại sao nên sử dụng filters?Khi xây dựng một ứng dụng website có tương tác với người dùng, website của chúng ta thường xuyên phải gửi, nhận và xử lý dữ liệu. Các dữ liệu đó có thể là:
Các dữ liệu nhận và gửi nếu không được xử lý xác thực, sẽ dẫn đến các vấn đề bảo mật, ảnh hưởng tới cấu trúc website của chúng ta. Bằng cách sử dụng các chức năng filter của PHP, chúng ta luôn đảm bảo rằng các dữ liệu gửi và nhận được từ bên ngoài là phù hợp và chính xác cho các quá trình xử lý dữ liệu của website. Filters extension PHPPHP cung cấp nhiều chức năng filters cần thiết để chúng ta kiểm tra thông tin đầu vào của người dùng và được thiết kế để giúp xác thực dữ liệu một cách dễ dàng và nhanh chóng hơn. Ví dụ sau dùng hàm
Xem kết quả
Hàm filter_var() trong PHPHàm Hàm Ví dụ 1: Dùng hàm Ví dụ
$str = ' Xem kết quả
Ví dụ 2: sử dụng hàm Ví dụ
$int = 100;
if(!filter_var($int,FILTER_VALIDATE_INT) === false) {
echo 'Biến $int là số nguyên';
} else {
echo 'Biến $int không phải là số nguyên';
}
?>
Xem kết quả Ở ví dụ trên, nếu biến $int có giá trị là 0 thì kết quả biểu thức trên sẽ là "Biến $int không phải là số nguyên". Để xử lý vấn đề trên, ta điều chỉnh lại đoạn code như sau: Ví dụ
$int = 0;
if(filter_var($int,FILTER_VALIDATE_INT) === 0 || !filter_var($int,FILTER_VALIDATE_INT) === false) {
echo 'Biến $int là số nguyên';
} else {
echo 'Biến $int không phải là số nguyên';
}
?>
Xem kết quả
Ví dụ 3: dùng hàm Ví dụ
$ip = "127.0.0.1";
if(!filter_var($ip, FILTER_VALIDATE_IP) === false){
echo 'Biến $ip có địa chỉ IP hợp lệ';
}else{
echo 'Biến $ip có địa chỉ IP không hợp lệ';
}
?>
Xem kết quả
Ví dụ 3.1 Dùng hàm Ví dụ
$ip = "2001:0db8:85a3:08d3:1319:8a2e:0370:7334";
if(!filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6) === false){
echo 'Biến $ip là địa chỉ IPv6';
}else{
echo 'Biến $ip không phải là địa chỉ IPv6';
}
?>
Xem kết quả Ví dụ 4: Dùng hàm Ví dụ
$email = "";
// Xóa các ký tự không hợp lệ khỏi biến email
$email = filter_var($email, FILTER_SANITIZE_EMAIL);
// Xác thực địa chỉ e-mail
if(!filter_var($email, FILTER_VALIDATE_EMAIL) === false){
echo 'Biến $email có địa chỉ email hợp lệ.';
}else{
echo 'Biến $email có địa chỉ email không hợp lệ.';
}
?>
Xem kết quả
Ví dụ 5: Dùng hàm Ví dụ
$url = "https://book-code.com.vn";
// Xóa tất cả các ký tự không phù hợp
$url = filter_var($url, FILTER_SANITIZE_URL);
// Xác thực url
if(!filter_var($url, FILTER_VALIDATE_URL) === false){
echo 'Biến $url có địa chỉ URL hợp lệ';
}else{
echo 'Biến $url có địa chỉ URL hợp lệ';
}
?>
Xem kết quả
|