Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Urlencode () có đủ tốt để ngăn chặn tất cả các cuộc tấn công SQL injection trong năm 2011 không

urlencode() không có gì để làm với SQL, vì vậy nó có thể ngăn chặn việc tiêm SQL giống như dầu hỏa để làm cho bánh mì kẹp thịt của bạn ngon hơn. Bên cạnh đó, mọi thứ đi vào cơ sở dữ liệu của bạn sẽ được mã hóa URL, sau đó bạn phải giải mã nếu bạn muốn làm bất cứ điều gì hữu ích với chúng sau khi truy xuất cơ sở dữ liệu.

Mặt khác, việc loại bỏ các truy vấn của bạn sẽ giúp ứng dụng của bạn bảo vệ khỏi việc chèn SQL và không hơn thế nữa. Nó không sửa đổi dữ liệu bạn nhập vào các truy vấn của mình; nó chỉ bảo vệ các truy vấn của bạn khỏi bị giả mạo. Đó là ý tưởng về SQL injection và đó cũng là lý do tại sao việc mã hóa URL cho dữ liệu của bạn không làm được gì để bảo vệ khỏi nó. Được, nó không chuyển dấu nháy đơn của bạn ' thành %27 , khiến chúng trở nên vô hại, nhưng như đã đề cập trong đoạn trên, bạn sẽ phải URL giải mã chúng thành dấu nháy đơn để sử dụng chúng.

Sử dụng đúng công cụ, đúng mục đích. Đặc biệt trong năm 2011, bạn nên sử dụng các câu lệnh đã chuẩn bị sẵn thay vì thoát theo cách thủ công các biến truy vấn của mình và nối các chuỗi để tạo thành các truy vấn.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chọn tất cả các hàng có ít nhất một danh sách các tính năng

  2. Tạo bảng với tên biến php mysql

  3. không được hỗ trợ Quét, lưu trữ trình điều khiển. Loại giá trị [] uint8 thành loại * thời gian.Thời gian

  4. Lỗi kết nối PDO khi sử dụng symfony và MAMP

  5. Làm cách nào để tìm kiếm các tên bắt đầu từ A trong MySQL?