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

Tôi có nên mysql_real_escape_string nhập mật khẩu trong biểu mẫu đăng ký không?

Chà, có một sự hiểu lầm lớn.

mysql_real_escape_string () không sạch sẽ bất cứ điều gì. Nó không liên quan gì đến bảo mật.

Chức năng này được sử dụng chỉ để thoát khỏi các dấu phân cách và không có gì khác. Nó có thể giúp bạn đưa dữ liệu chuỗi vào truy vấn SQL - đó là tất cả.

Vì vậy, mỗi chuỗi bạn sẽ đưa vào truy vấn (bằng cách đặt nó trong dấu ngoặc kép), bạn phải chuẩn bị nó bằng hàm này. Trong tất cả các trường hợp khác, nó sẽ vô dụng hoặc thậm chí có hại.

Do đó,
ra khỏi sự hiểu lầm này, bạn đang mắc phải 2 sai lầm lớn ở đây:

  • bạn đang sử dụng chức năng này không phải với dữ liệu thực sự được chuyển đến truy vấn
  • bạn có thể làm hỏng mật khẩu của mình bằng cách thêm một số ký hiệu vào mật khẩu, do đó, mật khẩu trở nên không sử dụng được

Ngoài ra, như một lưu ý phụ, hãy nhớ rằng chức năng này phải luôn được sử dụng cùng với mysql_set_charset hoặc nói cách khác là "_real_" một phần của chức năng này trở nên vô dụng



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PDO bind_param là phương thức không xác định

  2. Hành vi 'chọn để cập nhật' của MySQL

  3. Mysql - Cách thoát / thoát khỏi thủ tục được lưu trữ

  4. Làm cách nào để tôi có thể đặt Giá trị mặc định của cột dấu thời gian thành Dấu thời gian hiện tại với Laravel Migrations?

  5. Cơ sở dữ liệu sao chép MySQL