Ver Mensaje Individual
  #8 (permalink)  
Antiguo 10/02/2006, 07:28
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por clinisbut
Pondre un ejemplo mas grafico.
Inserto en la base de datos un 3, este '3' va dentro del campo `numero`.
Bien, si alguien escribe "3'; DELETE * FROM usuarios" puede q si nuestro codigo php no lo controla bien llegue a eliminar el contenido de la tabla usuarios.
Pero si convertimos en binario los datos a introducir en la BD, introduciriamos algo asi (creo, no lo he comprobado): "0101110101010001010100101"
de esta manera aunque un usuario malintencionado inyecte codigo sql el motor de la base de datos no lo interpretará como tal sino como datos solamente.

Pues mi pregunta era si es una buena opción o sin embargo mi teoria falla por algun lado
Saludos
Si quieres hacer eso .. da igual si es binario o base64 por ejemplo .. daría igual. El aumento extra de información sería "increible" (buff un binario!!!!!!!! o un base64 de una cadena dada...).

Además .. siempre vas a tener que convertir tu dato a "binario" (o tu "codificación") para poder acceder a esos datos .. No creo que el sentido de almacenar datos en una BBDD es que no se puedan acceder .. también los vas a consultar.

Pero lo que no tienes para nada encuenta es que una Base de datos no se usa sólo para "almacenar" información que ahí se quede .. sino que se "consulta" esa información y no sólo de datos que "pidamos" de forma externa (bajo una variable $php que podamos convertir a "binario" por ejemplo ..) sino que muchas veces se usan funciones própias del SQL ..

Ya no te hablo de los problemas que tendrías si migras esos datos a otros sistemas u otros sistemas los tienen que acceder.

Un saludo,