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

Mã hóa / thoát / htmlentities chính xác cần thiết là gì khi gửi dữ liệu từ js sang php, php tới mysql và cho các phản hồi REST json

Bất cứ khi nào tôi sử dụng php / mysql / jquery để chuyển dữ liệu qua lại, tôi kết thúc bằng cách sử dụng kết hợp mã hóa / thoát sau và nó có vẻ hoạt động tốt đối với tôi.

1) bạn không cần phải làm bất cứ điều gì ở đây, NHƯ VẬY bạn đang gửi một URL (tôi nghĩ điều này chỉ dành cho các yêu cầu GET) - nhưng nếu bạn đang gửi một url, bạn cần sử dụng encodeURIComponent (url), nó sẽ thoát đúng cách &'s và các ký tự đặc biệt trong url (xem thêm tại đây ).

2) Sử dụng mysqli và các tham số ràng buộc, nó sẽ thực hiện tất cả việc thoát cho bạn (đọc về nó tại đây )

3) Tôi luôn sử dụng điều này khi lặp lại dữ liệu vào tệp HTML:

<?php
  htmlspecialchars($string_to_escape, ENT_QUOTES, 'UTF-8', false);
?>

Điều này sẽ mã hóa đúng tất cả các ký tự đặc biệt (sai là "không có mã hóa kép"). Ngoài ra, hãy đảm bảo rằng bạn có các thẻ meta UTF-8 thích hợp ở đầu các trang html của bạn.

4) Sử dụng json_encode luôn phải thoát dữ liệu của bạn đúng cách, nhưng tôi sẽ sử dụng mã từ # 3 chỉ để đảm bảo. Nhưng có thể bạn sẽ chỉ cần nó nếu bạn đang trả lại dữ liệu có các ký tự đặc biệt trong đó.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hiển thị dữ liệu từ cơ sở dữ liệu bằng PDO

  2. Tập lệnh Bash để chèn giá trị trong MySQL

  3. Nối nhiều trường thành một bằng SQL

  4. Datetime NOW PHP mysql (biến thể + PDO)

  5. Bảng và mảng liên kết PHP MYSQL