mysql - PHP Injection protect function -
hello searching on internet protection attacks , have gathered codes not sure if doing same job or if useless or not. 1-2 tips welcome new in php. here function use every thing goes in/out of sql:
public static function safe($str = '') { $ret_string = $str; $ret_string = htmlspecialchars($ret_string); $ret_string = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($ret_string) : mysql_escape_string($ret_string); $ret_string = strip_tags($ret_string); $ret_string = stripslashes($ret_string); $ret_string = htmlspecialchars($ret_string); $ret_string = trim(htmlentities($ret_string)); $ret_string = trim($ret_string); $ret_string = str_replace('\\l', '', $ret_string); $ret_string = str_replace('\\', '', $ret_string); $ret_string = str_replace("%00", "",$ret_string); $ret_string = str_replace(' ', '', $ret_string); $ret_string = str_replace("'", "", $ret_string); $ret_string = str_replace("\"", "",$ret_string); $ret_string = str_replace("--", "",$ret_string); $ret_string = str_replace("-", "",$ret_string); $ret_string = str_replace("^", "",$ret_string); $ret_string = str_replace("&", "",$ret_string); $ret_string = str_replace("%", "",$ret_string); $ret_string = str_replace("(", "",$ret_string); $ret_string = str_replace(")", "",$ret_string); $ret_string = str_replace("=", "",$ret_string); $ret_string = str_replace("+", "",$ret_string); $ret_string = str_replace(";", "",$ret_string); $ret_string = str_replace(":", "",$ret_string); $ret_string = str_replace("|", "",$ret_string); $ret_string = str_replace("<", "",$ret_string); $ret_string = str_replace(">", "",$ret_string); $ret_string = str_replace("~", "",$ret_string); $ret_string = str_replace("`", "",$ret_string); //extra ansi attacks $ret_string = str_replace("0x22", "",$ret_string); $ret_string = str_replace("0x25", "",$ret_string); $ret_string = str_replace("0x27", "",$ret_string); $ret_string = str_replace("0x5c", "",$ret_string); $ret_string = str_replace("0x5f", "",$ret_string); //extra hex attacks $ret_string = str_replace("\x00", "",$ret_string); $ret_string = str_replace("\n", "",$ret_string); $ret_string = str_replace("\r", "",$ret_string); $ret_string = str_replace("\x1a", "",$ret_string); $ret_string = str_replace("%20and%20", "",$ret_string); return $ret_string; }
you don't need this. use prepared statements parameters, way don't need escape anything.
Comments
Post a Comment