Tôi thường sử dụng chức năng này để khử trùng đầu vào hình thức của tôi trước khi lưu trữ chúng vào cơ sở dữ liệu của tôi:mẫu liên hệ Sanitize mà không mysql_real_escape_string
//Function to sanitize values received from the form. Prevents SQL injection
function clean($str) {
$str = @trim($str);
if(get_magic_quotes_gpc()) {
$str = stripslashes($str);
}
return mysql_real_escape_string($str);
}
Cho đến hôm nay tôi đã không nhận ra rằng mysql_real_escape_string
đòi hỏi một kết nối cơ sở dữ liệu như tôi chỉ đã sử dụng nó khi tôi đã làm sạch dữ liệu trước khi lưu trữ nó vào cơ sở dữ liệu.
Tôi đã thử sử dụng chức năng trên biểu mẫu liên hệ và nhận lỗi "Liên kết tới máy chủ không thể thiết lập được". Tôi có thể kết nối với cơ sở dữ liệu nhưng không cần thiết vì tôi chỉ đơn giản là đang cố gắng khử trùng dữ liệu trước khi nó được gửi đến e-mail của tôi thông qua biểu mẫu liên hệ.
Cách tốt nhất để vệ sinh dữ liệu không được lưu trữ trong cơ sở dữ liệu mysql và dữ liệu này vẫn cần được vệ sinh?
ý bạn là các bộ lọc cụ thể nào? có rất nhiều người trong số họ –