Sau đây là một số lỗ hổng bảo mật thông thường lập trình viên cần phải hiểu và có thể phòng chống được.
- SQL injection
Câu truy vấn gốc :$statement = "SELECT * FROM users WHERE username = '$user' AND password
='$password'";Câu truy vấn bị inject: (bằng việc thay đổi giá trị của $user và $password)
$statement = "SELECT * FROM users WHERE username = 'admin'; -- ' AND password
= 'anything'";
= 'anything'";→ Câu truy vấn bị inject sẽ trả về toàn bộ thông tin của admin.
→ Cách phòng chống : (Kiểm tra dữ liệu đầu vào. Tuỳ framework, thư viện sẽ có hỗ trợ). - CSRF và cách phòng chống (CROSS SITE REQUEST FORGERY)
- Cách chống chủ yếu :
- Edit token (csrf token)
- Same origin policy
- Cách chống chủ yếu :
- XSS (CROSS SITE SCRIPTING)
- Cách chống :
- Validate your input
- Escape your output
- Cách chống :