In a login script I found onlline, the creator added this function to prevent SQL-injection attacks.
function Fix($str) {
$str = trim($str);
if(get_magic_quotes_gpc()) {
$str = stripslashes($str);
}
return mysql_real_escape_string($str);
}
Since I read that magic_quotes_gpc is (or has been) removed, it feels like this function is a bit outdated. Wouldn’t just simply using mysqli_real_escape_string($user_input) add sufficient security?
mysql_real_escape_stringis not sufficient in all situations but it is definitely very good friend. The better solution is using Prepared StatementsAlso, not to forget HTMLPurifier that can be used to discard any invalid/suspicious characters.
mysql_real_escape_string() versus Prepared Statements
Answer From Chris Shiflett (Security Expert)