Hướng dẫn dùng fillters 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ư
$str = ' 0, ...) để kiểm tra dữ liệu đầu vào nhập từ người dùng.Nội dung chính Show
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
$str = ' 1 để in ra bảng danh sách tên các filters và ID của chúng mà PHP cung cấp cho chúng ta:
Xem kết quả Filter NameFilter IDint257boolean258float259validate_regexp272validate_domain277validate_url273validate_email274validate_ip275validate_mac276string513stripped513encoded514special_chars515full_special_chars522unsafe_raw516email517url518number_int519number_float520add_slashes523callback1024Hàm filter_var() trong PHPHàm
$str = ' 2 thường được sử dụng để lọc hoặc làm sạch dữ liệu đầu vào từ người dùngHàm
$str = ' 2 cần cung cấp dữ liệu đầu vào là một biến cần kiểm tra và loại type để kiểm tra biến đóVí dụ 1: Dùng hàm
$str = ' 2 xóa các thẻ HTML ra khỏi một chuỗiVí dụ
$str = ' Xem kết quả
Ví dụ 2: sử dụng hàm
$str = ' 2 để kiểm tra xem biến $int có phải là một số nguyên hay không. Nếu đúng thì xuất ra màn hình thông báo "Biến $int là số nguyên". Ngược lại thì "Biến $int không phải là số nguyên".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ả
|