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

Sử dụng php filter_var với mysql_real_escape_string

Vệ sinh một chuỗi phục vụ để làm cho nó phù hợp với các kỳ vọng nhất định. FILTER_SANITIZE_EMAIL xóa bất kỳ ký tự nào khỏi một chuỗi không hợp lệ trong email. Kết quả (được cho là) ​​được đảm bảo tuân theo cú pháp địa chỉ email. Việc xóa các ký tự khỏi chuỗi một cách ngẫu nhiên hữu ích như thế nào, tôi sẽ giải thích cho bạn. (Gợi ý:Tôi không nghĩ nó rất hữu ích; bạn nên từ chối các địa chỉ không hợp lệ hơn là biến chúng thành kết quả ngẫu nhiên. Tôi cung cấp cho bạn một địa chỉ email không hợp lệ, bạn chỉnh sửa nó thành một số hình dạng giống địa chỉ email, bây giờ làm thế nào bạn có biết bạn sẽ có thể gửi cho tôi một email ...?!)

mysql_real_escape_string ở đó để đảm bảo rằng một chuỗi tùy ý không vi phạm cú pháp ký tự chuỗi của SQL bằng cách thoát tất cả các ký tự có giá trị thoát. Giả sử bạn đang sử dụng nó đúng cách (rất nhiều cạm bẫy mà mysql mắc phải, đó là lý do tại sao nó không được dùng nữa ...), bạn không thể làm gì với đầu vào của nó có thể khiến nó không thành công. Bạn cung cấp cho nó bất kỳ chuỗi tùy ý nào, nó sẽ trả về cho bạn phiên bản thoát, dấu chấm.

Như vậy, nói chung, vâng, những gì bạn đang làm là tốt. Nếu mysql_real_escape_string cuối cùng điều bạn làm với chuỗi của mình trước khi nội suy nó thành một chuỗi SQL theo nghĩa đen, thì không sao cả.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Các truy vấn mysql động với sql thoát có an toàn như các câu lệnh đã chuẩn bị không?

  2. Không thể truy xuất siêu dữ liệu của dự án. Đảm bảo đó là một dự án .NET Core dựa trên MSBuild

  3. Chọn phân biệt chữ hoa chữ thường bằng mysql, php và pdo

  4. Chỉ mục (dựa trên không) phải lớn hơn hoặc bằng 0

  5. Tạo bảng lập trình bằng MyBatis và MySql