Evitando SQL injection
Despues de un poco de duda y confusión :-S (Bueno, ni tanto) entre mis conocimientos, aquí les tengo una función para filtrar las cadenas antes de utilizarlas directamente en consultas SQL
- function sql_quote($value){
- if(get_magic_quotes_gpc())
- $value = stripslashes($value);
- //check if this function exists
- if(function_exists("mysql_real_escape_string"))
- $value = mysql_real_escape_string( $value );
- else//for PHP version < 4.3.0 use addslashes
- $value = addslashes( $value );
- return $value;
- }
Para utilizarla, solo hay que aplicarle a la cadena a filtrar la función y listo.
- $password = sql_quote($_POST['password']);
- $query = mysql_query("SELECT * FROM usuarios WHERE usuario='admin' AND password='$password');
Mis Algoritmos » Blog Archive » Gestión de Errores en PHP
2007-03-09 10:59:05
[...] esa horrible costumbre de chatear casi todo el día y cambiarla por programar alguna tontería (Re-Inventar la rueda obviamente puff! [...]
» Evitar Inyección SQL (II) | Solo Código |
2007-09-06 15:00:22
[...] get_magic_quotes_gpc(), que se utiliza también para el filtrado de comillas. Según propone Mis-Algoritmos aquí teneis una función para filtrar una cadena antes de emplearle en la consulta contra la base [...]