Làm cách nào tôi có thể khử trùng mã php của mình?
Bản tóm tắt. trong hướng dẫn này, bạn sẽ học cách phát triển một hàm PHP 9 có thể tái sử dụng để làm sạch đầu vào Giới thiệu về vệ sinh đầu vàoTrước khi xử lý dữ liệu từ các nguồn không đáng tin cậy như yêu cầu HTTP 0 hoặc 1, trước tiên bạn phải luôn khử trùng dữ liệu đó Làm sạch đầu vào có nghĩa là xóa các ký tự không hợp lệ bằng các kỹ thuật xóa, thay thế, mã hóa hoặc thoát PHP cung cấp một danh sách các bộ lọc làm sạch mà bạn có thể sử dụng để làm sạch đầu vào một cách hiệu quả. Các chức năng sau sử dụng các bộ lọc này để khử trùng đầu vào
Trong hướng dẫn này, chúng ta sẽ tạo một hàm 9 có thể tái sử dụng để làm sạch các đầu vào theo cách biểu cảm hơn Định nghĩa hàm sanitize()Giả sử bạn có các trường sau trong biến 3 và muốn làm sạch chúng
Để làm điều đó, bạn có thể định nghĩa một hàm 9 và gọi nó như sau
Hàm 9 sẽ trông như thế này
Hàm có hai tham số
Hàm 9 trả về một mảng chứa dữ liệu đã được làm sạch The 9 phải là một mảng kết hợp trong đó khóa là tên trường và giá trị là quy tắc cho trường đó. Ví dụ
Lưu ý rằng 62 có nghĩa là một chuỗi các chuỗi Để vệ sinh các lĩnh vực này
Để có bộ lọc dựa trên quy tắc của một trường, bạn có thể xác định ánh xạ giữa các quy tắc với các bộ lọc như thế này 6 Ví dụ: phần sau trả về bộ lọc của quy tắc 64 2 Để dọn dẹp nhiều trường cùng một lúc, bạn có thể sử dụng hàm 67 4 Tham số đầu tiên của hàm 67 là một mảng các biến để lọc. Và tham số thứ hai là một mảng các bộ lọc. Ví dụ, nó sẽ trông như thế này 6 Vì vậy, bạn cần trả về 69 này từ các mảng 9 và 21. Để làm điều đó, bạn có thể sử dụng chức năng 22 như thế này 1 Sau đây là hàm 9 3 Làm cho hàm sanitize() linh hoạt hơnHàm 9 sử dụng hằng số 21. Để linh hoạt hơn, bạn có thể thêm một tham số và đặt giá trị mặc định của nó thành hằng số 21 như thế này 7 Ngoài ra, bạn có thể muốn làm sạch các trường trong 6 bằng cách sử dụng một bộ lọc e. g. , 65 Để làm điều đó, bạn có thể
Hàm 9 sẽ giống như sau 0 Xóa khoảng trắng của chuỗiĐể xóa khoảng trắng của chuỗi, bạn sử dụng hàm 43. Và để loại bỏ các khoảng trắng của một mảng chuỗi các bạn sử dụng hàm 22 với hàm 43 1 Tuy nhiên, 6 có thể chứa các mục không phải là chuỗi. Để chỉ cắt mục chuỗi, bạn có thể sử dụng hàm 47 để kiểm tra xem mục đó có phải là chuỗi hay không trước khi cắt mục đó 2 6 có thể chứa một mục là một mảng các chuỗi. Ví dụ 3 Để cắt chuỗi trong mục 49, bạn cần sử dụng hàm đệ quy 4 Gọi array_trim() từ hàm sanitize()Để gọi hàm 60 từ hàm 9
Phần sau đây hiển thị hàm 9 được cập nhật 5 Đặt nó tất cả cùng nhauPhần sau đây hiển thị tệp 66 hoàn chỉnh với các hàm 21, 60 và 9 6 Sử dụng chức năng sanitize()Phần sau đây trình bày cách sử dụng hàm 9 để làm sạch dữ liệu trong 11 bằng cách sử dụng các quy tắc làm sạch được chỉ định trong 9 Việc vệ sinh có bắt buộc trong PHP không?Vì vậy, để bảo vệ cơ sở dữ liệu khỏi tin tặc, cần phải vệ sinh và lọc dữ liệu do người dùng nhập trước khi gửi vào cơ sở dữ liệu .
Chức năng nào có thể làm sạch văn bản trong PHP?Hàm filter_var() vừa xác thực vừa làm sạch dữ liệu.
Làm thế nào vệ sinh URL trong PHP?Chúng tôi có thể làm sạch URL bằng cách sử dụng FILTER_SANITIZE_URL . Hàm này xóa tất cả các ký tự ngoại trừ chữ cái, chữ số và $-_. +. *'(),{}. \\^~[]`<>#%";/?. @&=.
Vệ sinh mã có nghĩa là gì?Khử trùng HTML là quá trình kiểm tra tài liệu HTML và tạo tài liệu HTML mới chỉ giữ lại bất kỳ thẻ nào được chỉ định là “an toàn” và mong muốn. HTML sanitization can be used to protect against cross-site scripting (XSS) attacks by sanitizing any HTML code submitted by a user. |