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

chức năng làm sạch đầu vào cho cơ sở dữ liệu Mysql

htmlentities () là không cần thiết để làm cho dữ liệu an toàn cho SQL. Nó được sử dụng khi lặp lại các giá trị dữ liệu với đầu ra HTML, để tránh các lỗ hổng XSS. Đó cũng là một vấn đề bảo mật quan trọng mà bạn cần lưu ý, nhưng nó không liên quan đến SQL.

Addlashes () là dư thừa với mysql_real_escape_string. Bạn sẽ kết thúc với các dấu gạch chéo ngược theo nghĩa đen trong các chuỗi của bạn trong cơ sở dữ liệu.

Đừng sử dụng dấu ngoặc kép. Tính năng này đã không được chấp nhận trong nhiều năm. Không triển khai mã PHP đến một môi trường mà dấu ngoặc kép được kích hoạt. Nếu nó được bật, hãy tắt nó đi. Nếu đó là một môi trường được lưu trữ và họ sẽ không tắt các trích dẫn kỳ diệu, hãy tìm một nhà cung cấp dịch vụ lưu trữ mới.

Không sử dụng ext/mysql . Nó không hỗ trợ các tham số truy vấn, giao dịch hoặc sử dụng OO.

Cập nhật:ext/mysql không được dùng nữa trong PHP 5.5.0 (2013-06-20) và bị xóa trong PHP 7.0.0 (2015-12-03). Bạn thực sự không thể sử dụng nó.

Sử dụng PDO và làm cho các truy vấn của bạn an toàn hơn bằng cách sử dụng truy vấn chuẩn bị .

Để biết thêm chi tiết về cách viết SQL an toàn, hãy đọc bản trình bày của tôi Những lầm tưởng về SQL Injection và Sai lầm .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL index_length có tính bằng byte không?

  2. Làm cách nào để chọn một số hàng cố định cho mỗi nhóm?

  3. SQL-alchemy:ValueError có quá nhiều giá trị để giải nén?

  4. Sự cố chèn vào cơ sở dữ liệu ... (Mã hóa ký tự không hợp lệ) PHP / MYSQL

  5. php không lưu dữ liệu vào mysql