Dependiendo de la finalidad que tenga tu sistema, no creo que sea lo más óptimo borrar palabras tan "triviales" como SELECT, UNION, HTTP, o todas las que allí pones.
Supongo que no es necesario decirte que magic_quotes debe ser preferentemente desactivada en el php.ini, pero si no es posible hacerlo, realizar el escape al inicio del script. Así tienes TODOS los datos limpios:
Código php:
Ver originalfunction stripslashes_array(&$datos) {
return $datos;
}
if(
) {
stripslashes_array($_GET);
stripslashes_array($_POST);
stripslashes_array($_COOKIE);
}
A lo que voy es que ese proceso debe realizarse globalmente y no sólo a ciertos datos cuando van a formar parte de la consulta.
Por otro lado, regresando a los de la eliminación de palabras, como te digo no es recomendable borrarlas, aunque esto obviamente depende de la finalidad de tu sistema. Usar simplemente mysql_real_escape_string() sobre los datos, además de una validación con expresiones regulares, es más que suficiente para evitar inyecciones SQL.