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