Estoy pasando algunos datos de usuario simples en una base de datos mysql.Es urlencode() lo suficientemente bueno como para detener todos los ataques de inyección SQL en el año 2011
PHP's urlencode() Devuelve una cadena en la que todos los caracteres no alfanuméricos excepto -_. han sido reemplazados con un signo de porcentaje (%) seguido de dos dígitos hexadecimales.
No me preocupan los espacios que se convierten en plus, u otros problemas de formato. Tampoco me preocupan los XSS y otros hacks HTML.
Creo que debería estar a salvo de ataques de estilo 'y'.
PREGUNTA: ¿Hay otros tipos de ataques sql que podrían usarse con - o _ o. ?
Ejemplo:
mysql_query("UPDATE cars SET color = '".urlencode($c)."' WHERE garage = 29");
Gracias de antemano
¿Qué hay de malo con el uso de 'mysql_real_escape_string'? – deceze
en el año 2011, debe abandonar la función mysql_ *, comenzar a utilizar la función mysqli_ *, o PDO – ajreal
mysqli es una pesadilla dolorosa en comparación con PDO – Stephen