Có, bạn cần bảo vệ khỏi điều này.
Hãy để tôi chỉ cho bạn lý do tại sao sử dụng bảng điều khiển dành cho nhà phát triển của Firefox:
Nếu bạn không làm sạch dữ liệu này, cơ sở dữ liệu của bạn sẽ bị phá hủy. (Đây có thể không phải là một câu lệnh SQL hoàn toàn hợp lệ, nhưng tôi hy vọng tôi đã hiểu rõ ý của mình.)
Chỉ vì bạn đã giới hạn những tùy chọn có sẵn trong trình đơn thả xuống của mình không có nghĩa là bạn đã giới hạn dữ liệu tôi có thể gửi cho máy chủ của bạn.
Nếu bạn đã cố gắng hạn chế hành vi này hơn nữa bằng cách sử dụng hành vi trên trang của mình, các tùy chọn của tôi bao gồm vô hiệu hóa hành vi đó hoặc chỉ viết một yêu cầu HTTP tùy chỉnh đến máy chủ của bạn để bắt chước gửi biểu mẫu này. Có một công cụ được gọi là curl được sử dụng cho chính xác điều đó và tôi nghĩ rằng lệnh để gửi SQL injection này vẫn sẽ trông giống như sau:
curl --data "size=%27%29%3B%20DROP%20TABLE%20*%3B%20--" http://www.example.com/profile/save
(Đây có thể không phải là lệnh curl hoàn toàn hợp lệ, nhưng một lần nữa, tôi hy vọng tôi đã hiểu rõ ý của mình.)
Vì vậy, tôi sẽ nhắc lại:
KHÔNG BAO GIỜ tin tưởng đầu vào của người dùng. LUÔN LUÔN bảo vệ bạn.
Đừng cho rằng bất kỳ đầu vào của người dùng nào là an toàn. Nó có khả năng không an toàn ngay cả khi nó đến thông qua một số phương tiện khác ngoài biểu mẫu. Không ai trong số đó đủ tin cậy để từ bỏ việc bảo vệ bạn khỏi sự tiêm nhiễm SQL.