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

Làm cách nào để khử trùng đúng cách dữ liệu nhận được từ một vùng văn bản, khi xuất dữ liệu đó trở lại vùng văn bản?

Bạn không nên sử dụng htmlentities khi lưu nó. Bạn nên sử dụng htmlentities khi hiển thị nó. Quy tắc chung là không mã hóa / làm sạch dữ liệu cho đến khi bạn cần. Nếu bạn làm htmlentities trên đó khi bạn lưu thì bạn phải thực hiện html_entity_decode trên văn bản khi người dùng muốn chỉnh sửa đầu vào. Vì vậy, bạn vệ sinh cho những gì bạn cần và không có gì hơn. Khi lưu nó, bạn cần phải làm sạch để chèn SQL, vì vậy bạn mysql_real_escape_string nó. Khi hiển thị, bạn cần phải làm sạch cho XSS, vì vậy bạn htmlentities nó.

Ngoài ra, tôi không chắc liệu bạn có xem nhận xét của Darryl Hein hay không, nhưng bạn thực sự không muốn bật magic_quotes. Chúng là một thứ tồi tệ, tồi tệ và đã không được chấp nhận kể từ PHP 5.3 và sẽ không còn hoàn toàn trong PHP 6.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 193:% 1 không phải là lỗi ứng dụng Win32 hợp lệ với Ứng dụng Rails mới

  2. Sử dụng các công cụ lưu trữ MySQL khác nhau trong thiết kế cơ sở dữ liệu

  3. Cách truy vấn cột JSON trong MySQL

  4. Cột không xác định trong 'danh sách trường', nhưng cột tồn tại

  5. MySQL, việc sao chép tệp bảng dẫn đến LỖI 1017 (HY000):Không thể tìm thấy tệp:mặc dù nó ở đó