cuốn sách gpt4 ai đã làm

32. Bảo vệ tiêm SQL MariaDB

In lại Tác giả: Đường đến ông chủ Thời gian cập nhật: 2024-01-07 13:05:28 hai mươi bốn 4
mua khóa gpt4 Nike

Hành động đơn giản là chấp nhận đầu vào của người dùng sẽ mở ra cánh cửa cho việc khai thác. Vấn đề này chủ yếu phát sinh từ việc quản lý dữ liệu một cách hợp lý, nhưng may mắn thay, những cạm bẫy lớn này rất dễ tránh được.

Cơ hội tiêm SQL thường xảy ra khi người dùng nhập dữ liệu như tên và logic mã không thể phân tích dữ liệu đầu vào đó. Thay vào đó, mã này cho phép kẻ tấn công chèn câu lệnh MariaDB để chạy trên cơ sở dữ liệu.

Luôn xem xét dữ liệu do người dùng nhập, nếu nghi ngờ, cần yêu cầu xác thực mạnh mẽ trước khi xử lý. Việc xác nhận này được thực hiện thông qua việc khớp mẫu. Ví dụ: nếu thông tin đầu vào dự kiến ​​là tên người dùng, hãy giới hạn các ký tự được nhập ở mức ký tự chữ và số và dấu gạch dưới cũng như ở một độ dài nhất định. Hãy xem ví dụ được đưa ra dưới đây –

if(check_match("/^w{8,20}$/", $_GET['user_name'], $matches)) { $result = mysql_query("SELECT * FROM system_users WHERE user_name = $matches[0]") ; } else { echo "Tên người dùng không hợp lệ" }

Ngoài ra, hãy sử dụng toán tử REGEXP và mệnh đề THÍCH khi tạo các ràng buộc đầu vào.

Xem xét tất cả các loại đầu vào điều khiển rõ ràng cần thiết như –

  • Kiểm soát các ký tự thoát được sử dụng.
  • Kiểm soát loại dữ liệu thích hợp cụ thể cho đầu vào. Giới hạn đầu vào ở các loại và kích thước dữ liệu được yêu cầu.
  • Kiểm soát cú pháp của dữ liệu đầu vào. Không cho phép bất cứ điều gì bên ngoài lược đồ.
  • Kiểm soát các điều khoản được phép. Danh sách đen các từ khóa SQL.

Bạn có thể không nhận thức được sự nguy hiểm của các cuộc tấn công tiêm nhiễm hoặc bạn có thể nghĩ rằng chúng không quan trọng, nhưng chúng là một phần trong danh sách các vấn đề bảo mật. Ngoài ra, hãy xem xét tác động của hai mục này -

1=1 -hoặc- *

Việc cho phép nhập một trong hai mã bằng lệnh chính xác có thể dẫn đến việc tiết lộ tất cả dữ liệu người dùng trên cơ sở dữ liệu hoặc xóa tất cả dữ liệu trên cơ sở dữ liệu và cả việc tiêm đều không đặc biệt thông minh. Trong một số trường hợp, kẻ tấn công thậm chí không dành thời gian để kiểm tra các lỗ hổng; chúng thực hiện các cuộc tấn công mù quáng với những đầu vào đơn giản.

Ngoài ra, hãy xem xét các công cụ khớp mẫu và biểu thức chính quy được cung cấp bởi bất kỳ ngôn ngữ lập trình/tập lệnh nào hoạt động với MariaDB, chúng cung cấp nhiều quyền kiểm soát hơn, đôi khi là khả năng kiểm soát tốt hơn.

hai mươi bốn 4 0
Bài viết khuyến nghị: 21. Phương pháp sao lưu MariaDB
Bài viết khuyến nghị: 16. MariaDB chọn cơ sở dữ liệu
Bài viết khuyến nghị: 10. MariaDB thiết lập kết nối
Bài viết khuyến nghị: 01. Giới thiệu về MariaDB
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress