PHP
PHP

Trang chủ

Tổng quan về Filter và Filter Constant trong PHP

PHP, viết tắt của Hypertext Preprocessor, là ngôn ngữ lập trình script phía máy chủ được thiết kế đặc biệt cho phát triển web. Điểm nổi bật của PHP so với các ngôn ngữ khác là khả năng tương thích với nhiều loại cơ sở dữ liệu và chạy mượt mà trên các máy chủ web. Tại Vietnix, chúng tôi không chỉ giới thiệu những khái niệm cơ bản về PHP mà còn cung cấp các ví dụ thực tế giúp bạn dễ dàng hiểu và áp dụng PHP vào việc phát triển website. Bên cạnh đó, Vietnix cũng thường xuyên cập nhật các bài viết mới về tính năng, mẹo và thủ thuật lập trình, giúp bạn giải quyết các thách thức phức tạp, từ đó không ngừng nâng cao và hoàn thiện kỹ năng lập trình của mình.
html
CSS
javascript
sql
python
php
c
c++
bootstrap
react
mysql
reactjs
vuejs
Javascript Tutorials
19/06/2024
6 phút đọc
Theo dõi Vietnix trên

Tổng quan về Filter và Filter Constant trong PHP

Filter và Filter Constant trong PHP cung cấp một cách tiện lợi để kiểm tra và xử lý dữ liệu đầu vào từ người dùng hoặc từ các nguồn khác, đảm bảo dữ liệu nhận được đáng tin cậy và phù hợp với các tiêu chuẩn nhất định trước khi sử dụng. Filter Constants cung cấp các hằng số được sử dụng để xác định các loại kiểm tra dữ liệu cụ thể mà bạn muốn áp dụng, như kiểm tra địa chỉ email, URL hoặc kiểm tra số nguyên. Hãy cùng Vietnix tham khảo thêm về chủ đề Filter và Filter Constants trong PHP qua bài viết dưới đây.

Filter là gì?

PHP filter là tiện ích mở rộng lọc dữ liệu bằng cách làm sạch hoặc xác minh nó. Tiện ích này có vai trò rất quan trọng trong bảo mật của website, đặc biệt hữu ích khi dữ liệu đến từ các nguồn không xác định, vị trí xa, nguồn từ người dùng tự cung cấp. Ví dụ dễ thấy nhất là dữ liệu biểu mẫu HTML.

Filter và Filter Constant trong PHP
Filter và Filter Constant trong PHP

PHP Filter là một công cụ hữu ích để bảo vệ trang web của bạn khỏi các cuộc tấn công mạng. Nó có thể giúp bạn loại bỏ các ký tự độc hại khỏi dữ liệu và xác minh rằng dữ liệu có giá trị hợp lệ. Điều này có thể giúp bạn ngăn chặn các cuộc tấn công như SQL injectioncross-site scripting. Điều này giúp tăng tính bảo mật và độ tin cậy của ứng dụng PHP của bạn, đồng thời giúp ngăn ngừa các lỗ hổng bảo mật tiềm ẩn.

PHP Filter là một phần của PHP core, vì vậy nó có sẵn trên tất cả các máy chủ web PHP. Để sử dụng PHP Filter, bạn cần thêm thư viện filter vào trang web của mình. Bạn có thể tìm thêm thông tin về PHP Filter trong tài liệu PHP.

Mọi người cũng xem:

Phân loại hàm filter

Thông thường sẽ có hai loại filter như sau:

  • Validation – xác thực: xác minh và kiểm tra dữ liệu có đáp ứng các tiêu chuẩn nhất định hay chưa.
  • Sanitization – làm sạch: khác với xác thực, filter này sẽ làm sạch dữ liệu để đảm bảo rằng không có các ký tự không mong muốn (bằng cách xóa/thay đổi chúng)

Ví dụ 1: Xác thực URL bằng bộ lọc FILTER_VALIDATE_URL. 

<?php
// PHP program to validate URL

// Declare variable and initialize it to URL
$url = "https://vietnix.vn/";

// Use filter function to validate URL
if (filter_var($url, FILTER_VALIDATE_URL)) {
	echo "valid URL";
} else {
	echo "Invalid URL";
}

?>

Ví dụ 2: Xác thực email bằng bộ lọc FILTER_VALIDATE_EMAIL. 

<?php
// PHP program to validate email

// Declare variable and initialize it to email
$email = "xyz@gmail.com";

// Use filter function to validate email
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
	echo "Valid Email";
} else {
	echo "Invalid Email";
}

?>

Ví dụ 3: Dọn sạch email bằng bộ lọc FILTER_SANITIZE _EMAIL. 

<?php
// PHP program to sanitize an email

// Declare variable and initialize it
// to an email with illegal characters
$email = "user@vietnix.vn";

// Sanitize the email using the FILTER_SANITIZE_EMAIL filter
$sanitizedEmail = filter_var($email, FILTER_SANITIZE_EMAIL);

// Output the sanitized email
echo "Sanitized Email: " . $sanitizedEmail;
?>

Hàm filter: được sử dụng để lọc dữ liệu đến từ một nguồn không an toàn.

  • filter_var(): Lọc một biến cụ thể.
  • filter_var_array(): Lọc nhiều biến tức là mảng các biến.
  • filter_has_var(): Kiểm tra xem biến của một loại đầu vào cụ thể có tồn tại hay không
  • filter_id(): Nó giúp lấy id bộ lọc của tên bộ lọc đã chỉ định.
  • filter_list(): Nó trả về một danh sách các tên bộ lọc được hỗ trợ ở dạng một mảng.
  • filter_input(): Nó nhận một biến bên ngoài và lọc nó nếu được đặt để làm như vậy.
  • filter_input_array(): Nó giống như filter_input() nhưng ở đây Lấy nhiều biến tức là mảng biến và lọc chúng nếu được đặt để làm như vậy.

Predefined Filter ConstantsHằng số bộ lọc được xác định trước: Có nhiều hằng số bộ lọc được xác định trước được liệt kê bên dưới:

  • Xác thực hằng số bộ lọc (Validate filter constants)
    • FILTER_VALIDATE_BOOLEAN: Xác thực một boolean.
    • FILTER_VALIDATE_INT: Xác thực một số nguyên.
    • FILTER_VALIDATE_FLOAT: Xác thực số float.
    • FILTER_VALIDATE_REGEXP: Xác thực một biểu thức chính quy.
    • FILTER_VALIDATE_IP: Xác thực địa chỉ IP.
    • FILTER_VALIDATE_EMAIL: Xác thực địa chỉ email.
    • FILTER_VALIDATE_URL: Xác thực một URL.
  • Làm sạch hằng số bộ lọc (Sanitize filter constants)
    • FILTER_SANITIZE_EMAIL: Xóa tất cả các ký tự không hợp lệ khỏi địa chỉ email
    • FILTER_SANITIZE_ENCODED: Xóa/Mã hóa các ký tự đặc biệt
    • FILTER_SANITIZE_MAGIC_QUOTES: Áp dụng hàm addlashes()
    • FILTER_SANITIZE_NUMBER_FLOAT: Xóa tất cả ký tự, trừ chữ số, +- và tùy chọn khác,…
    • FILTER_SANITIZE_NUMBER_INT: Xóa tất cả ký tự ngoại trừ chữ số và dấu + –
    • FILTER_SANITIZE_SPECIAL_CHARS: Xóa các ký tự đặc biệt
    • FILTER_SANITIZE_FULL_SPECIAL_CHARS: Có thể vô hiệu hóa trích dẫn mã hóa bằng cách sử dụng FILTER_FLAG_NO_ENCODE_QUOTES.
    • FILTER_SANITIZE_STRING : Xóa thẻ/ký tự đặc biệt khỏi chuỗi
    • FILTER_SANITIZE_STRIPPED : Bí danh của FILTER_SANITIZE_STRING
    • FILTER_SANITIZE_URL: Xóa tất cả các ký tự không hợp lệ khỏi URL của s
  • Các hằng số bộ lọc khác:
    • FILTER_UNSAFE_RAW: Không làm gì, tùy chọn tách/mã hóa các ký tự đặc biệt
    • FILTER_CALLBACK: Gọi hàm do người dùng định nghĩa để lọc dữ liệu

Lưu ý: Filter PHP được bật theo mặc định trong PHP 5.2.0 và các phiên bản mới hơn. Người dùng sẽ cần cài đặt thủ công cho các phiên bản cũ hơn.

Lời kết

Vietnix hy vọng nội dung bài viết trên đã giúp bạn hiểu rõ hơn về Filter và Filter Constant trong PHP. Ngoài ra, bạn cũng có thể tham khảo thêm các bài viết khác tại vietnix.vn để hiểu hơn về lập trình, chúc bạn thành công!

Cao Lê Viết Tiến

PHP Leader
tại
Vietnix

Kết nối với mình qua

Icon Quote
Icon Quote

Học lập trình online cùng vietnix

Học lập trình online cùng Vietnix

PHPXem thêmThu gọn