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

Erlang Mysql:Cách ngăn chặn SQL Injjection

Câu trả lời này phụ thuộc vào trình điều khiển bạn đang sử dụng.

Erlang ODBC có một hàm param_query liên kết một tập hợp các tham số với truy vấn và nó cũng có thể thoát khỏi tất cả các ký tự đặc biệt của SQL.

erlang-mysql-driver đã chuẩn bị các tuyên bố:

%% Register a prepared statement
mysql:prepare(update_developer_country,
              <<"UPDATE developer SET country=? where name like ?">>),

%% Execute the prepared statement
mysql:execute(p1, update_developer_country, [<<"Sweden">>,<<"%Wiger">>]),

(mã từ blog của Yariv )

Phương án cuối cùng là bạn luôn có thể thoát các ký tự

 NUL (0x00) --> \0 
 BS  (0x08) --> \b
 TAB (0x09) --> \t
 LF  (0x0a) --> \n
 CR  (0x0d) --> \r
 SUB (0x1a) --> \z
 "   (0x22) --> \"
 %   (0x25) --> \%
 '   (0x27) --> \'
 \   (0x5c) --> \\
 _   (0x5f) --> \_ 



  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 CẬP NHẬT có điều kiện các giá trị cột boolean của các hàng dựa trên danh sách trắng các id

  2. Làm thế nào để sử dụng phân biệt chữ hoa chữ thường trong hướng dẫn () trong MySQL?

  3. Tải CSV vào bảng MySQL bằng PHP

  4. Nâng cấp MySQL lên MariaDB 10 (Phần 1 - Cài đặt MariaDB 5.5)

  5. Ví dụ về DATE_ADD () - MySQL