Thứ Tư, 25 tháng 12, 2013

Học PHP | Bảo mật database trong lập trình PHP

Khi đã thành thạo lập trình PHP rồi thì cần phải quan tâm tới vấn đề bảo mật website, bảo mật websiet gồm nhiều yếu tố. Bảo mật database, bảo mật url, ...
Hôm nay, xin giới thiệu vè bảo mật database trong quá trình đăng nhập tài khoản.
Khi chúng ta truy cập CSDL và chaaso nhận dữ liệu đầu vào bằng cách tạo ra các câu lệnh truy vấn, nó dễ dàng bị các kẻ gian lợi dụng tấn công SQL  injecttion. SQL injection xuất hiện khi các kẻ tấn công muốn làm các thử nghiệm trên form đề lấy các thông tin về CSDL. Nó thu thập các thông tin từ các thông báo lỗi SQL. Kẻ tấn công đinh vào form một trường injecting SQL, phổ biến nó thường đính vào form đăng nhập.
lap-trinh-php
Code minh hoạ

Khi kẻ tấn công nhập User là usernae ' OR 1 = 1 - 
và mật khẩu để trống thì cấu trúc câu lệnh SQL là:
SELECT * FROM users WHERE username = 'username' OR 1 = 1- 'AND password ='d41d8cd98f00b204e9800998ecf8427e
Điều kiện 1 =1 thì luôn đúng câu lệnh SQL bỏ qua tất cả những gì sau '-' vì vậy câu lệnh SQL sẽ trả lại tất cả các bản ghi. Bằng cách này kẻ gian dễ dàng đăng nhập vào hệ thống với tài khoản bất kỳ khi đã biết tên tài khoản.
Các bạn có thể tham khảo thêm về các khoá học php, lập trình drupalthư viện tài liệu tại daotaolaptrinh.edu.vn

1 nhận xét:

  1. Các bạn có thể tham khảo thêm các khoá học lập trình tại : http://daotaolaptrinh.edu.vn/khoa-hoc.html

    Trả lờiXóa