Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/11/2008, 15:32
Chechux
 
Fecha de Ingreso: agosto-2008
Mensajes: 166
Antigüedad: 15 años, 8 meses
Puntos: 1
Seguridad consultas e inserción

Buenas a todos.

Tengo unos scripts para inserción de datos y consultas a una base de datos. Lo tengo hecho de forma muy básica, y me preocupa el tema de la seguridad. Lo hice siguiendo un conocido tutorial donde no se añadía más sobre el tema. Ahora mismo por ejemplo para insertar a la base de datos desde un formulario el código es básicamente así:

$variableformulario=addslashes($_POST['formulario']);
$insertar = "INSERT INTO dbase (campo) VALUES ('".$variableformulario."')";
$result = mysql_query($insertar) or die( mysql_error() );

Y para las consultas es así.

$querydb = mysql_query("select * from dbase where campo like '".$busqueda."'") or die("Error en query:".mysql_error() );

if(mysql_num_rows($querydb) > 0){
$row = mysql_fetch_array($querydb);
echo stripslashes($row['campo'])."<br>";

He visto que en algunas dudas de otros usuarios, se les recomienda el uso de la función mysql_real_escape_string(), y luego por otro lado, en otro post de otro compañero del foro, recomendaban la siguiente función:

function escape($values) {
if(is_array($values)) {
$values = array_map(array(&$this, 'escape'), $values);
} else {
/* Quote if not integer */
if ( !is_numeric($values) || $values{0} == '0' ) {
$values = "'" .mysql_real_escape_string($values) . "'";
}
}
return $values;
}


Tenía entendido que con lo de addslashes y stripslashes era suficiente pero me da que no.... ¿Cuál es la mejor opción? (Como veis son consultas e inserciones de datos muy simples)

Gracias y un saludo.