Hướng dẫn dùng 2001 0db8 trong PHP

  • Trung Nguyen
  • 05/05/2020

    Nội dung chính

    • Bộ lọc PHP mở rộng
    • Tại sao nên sử dụng bộ lọc?
    • Lọc một chuỗi
    • Xác thực một số nguyên
    • Xác thực địa chỉ IP
    • Lọc và xác thực địa chỉ email
    • Lọc và xác thực một URL
    • Xác thực một số nguyên trong phạm vi
    • Xác thực địa chỉ IPv6
    • Xác thực URL phải chứa QueryString
    • Xóa các ký tự ASCII có giá trị > 127

  • 6 min read

Trong bài viết "Xác thực biểu mẫu [form] trong PHP" chúng ta đã tìm hiểu cách xác thực dữ liệu người dùng nhập vào biểu mẫu. Trong bài viết này chúng ta cũng đã sử dụng bộ lọc để kiểm tra sự hợp lệ của email và địa chỉ website. Nếu bạn bỏ lỡ bài viết này thì có thể xem ở đây:

Xác thực biểu mẫu [form] trong PHP | Comdy

Hướng dẫn bạn cách xác thực biểu mẫu [form] trong PHP và chống các kiểu tấn công XSS phổ biến.

Comdy

Ở bài viết này chúng ta sẽ tìm hiểu kỹ hơn về bộ lọc PHP. Có hai thuật ngữ bạn nên chú ý trong bài viết này:

Xác thực dữ liệu = Xác định xem dữ liệu có hợp lệ không.

Lọc dữ liệu = Loại bỏ bất kỳ ký tự không hợp lệ khỏi dữ liệu.

Bộ lọc PHP mở rộng

Các bộ lọc PHP được sử dụng để xác thực và lọc dữ liệu đầu vào từ bên ngoài.

Bộ lọc PHP mở rộng có nhiều chức năng cần thiết để kiểm tra đầu vào của người dùng và được thiết kế để giúp xác thực dữ liệu dễ dàng và nhanh chóng hơn.

Hàm filter_list[] được sử dụng để in ra danh sách các bộ lọc mở rộng mà PHP cung cấp:

Filter Name Filter ID

Tại sao nên sử dụng bộ lọc?

Nhiều ứng dụng web nhận dữ liệu đầu vào từ bên ngoài. Dữ liệu đầu vào từ bên ngoài có thể là:

  • Dữ liệu của người dùng từ một biểu mẫu.
  • Cookie.
  • Dữ liệu web service.
  • Các biến môi trường của server.
  • Kết quả truy vấn cơ sở dữ liệu.
Bạn nên xác thực dữ liệu từ bên ngoài!
Dữ liệu được gửi không hợp lệ có thể dẫn đến các vấn đề bảo mật và phá vỡ trang web của bạn!
Bằng cách sử dụng các bộ lọc PHP, bạn có thể chắc chắn rằng ứng dụng của bạn có được đầu vào chính xác!

Lọc một chuỗi

Ví dụ sau sử dụng hàm filter_var[] để xóa tất cả các thẻ HTML khỏi chuỗi:

Đây là kết quả mà bạn sẽ nhận được:

Hello World!

Xác thực một số nguyên

Ví dụ sau sử dụng hàm filter_var[] để kiểm tra xem biến $int có phải là số nguyên không.

Nếu $int là một số nguyên, đầu ra của mã bên dưới sẽ là: "Integer is valid". Nếu $ int không phải là số nguyên, đầu ra sẽ là: "Integer is not valid":

Đây là kết quả mà bạn sẽ nhận được:

Integer is valid

Trong ví dụ trên, nếu $int được gán thành 0, hàm trên sẽ trả về "Integer is not valid". Để giải quyết vấn đề này, hãy sử dụng mã dưới đây:

Đây là kết quả:

Integer is valid

Xác thực địa chỉ IP

Ví dụ sau sử dụng hàm filter_var[] để kiểm tra xem biến $ip có phải là địa chỉ IP hợp lệ không:

Đây là kết quả:

127.0.0.1 is a valid IP address

Lọc và xác thực địa chỉ email

Ví dụ sau sử dụng hàm filter_var[] để xóa tất cả các ký tự không hợp lệ khỏi biến $email, sau đó kiểm tra xem đó có phải là địa chỉ email hợp lệ không:

Đây là kết quả:

 is a valid email address

Lọc và xác thực một URL

Ví dụ sau sử dụng hàm filter_var[] để xóa tất cả các ký tự không hợp lệ khỏi URL, sau đó kiểm tra xem $url có phải là URL hợp lệ không:

Đây là kết quả:

//tech.comdy.vn is a valid URL

Xác thực một số nguyên trong phạm vi

Ví dụ sau sử dụng hàm filter_var[] để kiểm tra xem một biến kiểu integer có nằm trong phạm vi từ 1 đến 200 không:

Đây là kết quả:

Variable value is within the legal range

Xác thực địa chỉ IPv6

Ví dụ sau sử dụng hàm filter_var[]hàm để kiểm tra xem biến $ip có phải là địa chỉ IPv6 hợp lệ không:

Đây là kết quả:

2001:0db8:85a3:08d3:1319:8a2e:0370:7334 is a valid IPv6 address

Xác thực URL phải chứa QueryString

Ví dụ sau sử dụnghàm filter_var[] để kiểm tra xem biến $ url có phải là URL có chuỗi truy vấn không:

Đây là kết quả:

//tech.comdy.vn?page=2 is a valid URL with a query string

Xóa các ký tự ASCII có giá trị > 127

Ví dụ sau sử dụng hàm filter_var[] để lọc một chuỗi. Nó sẽ xóa tất cả các thẻ HTML và tất cả các ký tự ASCII có giá trị > 127 khỏi chuỗi:

Đây là kết quả:

Hello World!

Nếu Comdy hữu ích và giúp bạn tiết kiệm thời gian

Bạn có thể vui lòng tắt trình chặn quảng cáo ❤️ để hỗ trợ chúng tôi duy trì hoạt động của trang web.

Lập Trình PHP

Chủ Đề