Làm cách nào để bạn xác thực đầu vào của người dùng trong php?

Xác thực dữ liệu là một phần không thể thiếu trong quá trình phát triển web, đặc biệt là khi làm việc với các biểu mẫu mà người dùng nhập dữ liệu cá nhân của họ trước rồi gửi dữ liệu đó đến cơ sở dữ liệu. Dữ liệu được gửi ở định dạng không hợp lệ có thể gây ra sự cố bảo mật DBMS. Tin tặc thường sử dụng SQL injection để chèn các lệnh SQL độc hại vào cơ sở dữ liệu. Việc tiêm SQL thậm chí có thể phá hủy cơ sở dữ liệu sau khi được chèn. Do đó, để 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

Hãy lấy một ví dụ về SQL injection để làm rõ mọi thứ

Giả sử tin tặc nhập '5=5' vào hộp nhập 'Tên người dùng' rồi gửi dữ liệu. Điều kiện '5=5' luôn đúng. Do đó, lệnh SQL sẽ được thực thi sau khi nhấn nút ‘Gửi’ sẽ là

SELECT * FROM registration WHERE UserId = 105 OR 1=1;

Lệnh SQL trên không có lỗi và do đó máy chủ MySQL sẽ thực thi nó. Nhưng, nếu bảng đăng ký chứa thông tin nhạy cảm như thông tin thẻ tín dụng hoặc mật khẩu thì sao?. Tin tặc có thể lấy thông tin về tất cả người dùng đã đăng ký chỉ bằng cách nhập '5=5' vào hộp nhập tên người dùng và sau đó lạm dụng thông tin đó

Bạn sẽ thấy cách xác thực các trường khác nhau được sử dụng chung, như văn bản, danh sách, hộp kiểm, nút radio và chúng tôi cũng sẽ xem cách giữ lại dữ liệu POST để sau khi người dùng gửi biểu mẫu, ngay cả khi dữ liệu được cung cấp không hợp lệ,

Bản thử trực tiếp

Sau đây là bản demo trực tiếp của biểu mẫu PHP mà chúng tôi sẽ tạo vào cuối hướng dẫn này


trình bày bằng hình ảnh

Hình ảnh sau đây cho thấy những gì chúng ta cần làm trong khi xác thực biểu mẫu

 

Tệp HTML cơ sở





Form validation with parsely.js



h1 {margin-bottom:20px}
input, label {margin-top:7px; margin-bottom:7px; color:#000066; font-size: 18px; padding-right: 7px}
input[type='checkbox'] {margin-left: 5px}
.note {color: #ff0000}
.success_msg{color:#006600}



Travel reservation form

* denotes mandotory

Chủ Đề