Autor YouCode - http://www.youcode.com.ar/php/limpiar-variables-post-y-get-121
Evitar SQL Injection en nuestras aplicaciones web con PHP, el metodo es muy sencillo solo se debe agregar al inicio de nuestros archivos .php que se van a invocar y lo que hace es recorrer todos los valores recibidos por GET y POST y limpiarlos de cadenas peligrosas.
Opcion 1:$input_arr = array(); foreach ($_POST as $key => $input_arr) { $_POST[$key] = addslashes(limpiarCadena($input_arr)); } $input_arr = array(); foreach ($_GET as $key => $input_arr) { $_GET[$key] = addslashes(limpiarCadena($input_arr)); }Opcion 2:
array_walk($_POST, 'limpiarCadena'); array_walk($_GET, 'limpiarCadena');
function limpiarCadena($valor) { $valor = str_ireplace("SELECT","",$valor); $valor = str_ireplace("COPY","",$valor); $valor = str_ireplace("DELETE","",$valor); $valor = str_ireplace("DROP","",$valor); $valor = str_ireplace("DUMP","",$valor); $valor = str_ireplace(" OR ","",$valor); $valor = str_ireplace("%","",$valor); $valor = str_ireplace("LIKE","",$valor); $valor = str_ireplace("--","",$valor); $valor = str_ireplace("^","",$valor); $valor = str_ireplace("[","",$valor); $valor = str_ireplace("]","",$valor); $valor = str_ireplace("\\","",$valor); $valor = str_ireplace("!","",$valor); $valor = str_ireplace("¡","",$valor); $valor = str_ireplace("?","",$valor); $valor = str_ireplace("=","",$valor); $valor = str_ireplace("&","",$valor); return $valor; }La función limpiarCadena puedes agregar o quitar cadenas según sea su necesidad.
http://www.youcode.com.ar/php/limpiar-variables-post-y-get-121