Ver Mensaje Individual
  #5 (permalink)  
Antiguo 11/06/2007, 13:32
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Re: Compactar un poco mas la seguridad

Ejemplo de inyección SQL (ejemplo clásico)

Consulta usada con php:
"SELECT * FROM tabla WHERE campo=$_POST[variable]"

Valor ingresado en el campo "variable":
'1'; DROP TABLE 'tabla'

Resultado:
SELECT * FROM tabla WHERE campo='1'; DROP TABLE 'tabla'

Es decir, gentilmente se elimina la tabla.

Hay 2 soluciones simples, una es usar magic_quotes, que automáticamente filtra cualquier caracter "peligroso" (\, ', ", etc) agregándole una barra para escaparlo ( ' se transforma en \' ). El manual de PHP lo desaconseja, porque aumenta el procesamiento necesario y por tanto puede verse disminuido el rendimiento general.
La otra solución es la función addslashes(), que tiene la misma función pero funciona solamente sobre las variables especificadas.


Saludos.