Ver Mensaje Individual
  #13 (permalink)  
Antiguo 20/01/2009, 06:33
Avatar de nicolaspar
nicolaspar
 
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
Respuesta: Usuarios malintencionados: inyección de código

Cita:
Iniciado por okram Ver Mensaje
Con htmlentities los caracteres como < y > son convertidos a sus entidades HTML &lt; y &gt; respectivamente. Por lo tanto, strip_tags() no tendría ninguna utilidad allí.

Además yo usaría strtolower() para proteger aún más la consulta sql .
Código PHP:
$Cadena strtolower($Cadena); 

Esto si que es raro...no comprendo donde aporta poner en lower el string, además me estarías rompiendo el formato en por ejemplo comienzos de oraciones



letni, algo básico en este mundo (no en PHP sino en programación) son los datos de entrada/salida.

Tenés que tener bien en claro que son ambos y que peligros tenés en cada caso (acá estamos viendo como tratar los de entrada), entonces, sabiendo esto yo lo que guardaría en la db es el dato en bruto, cuidando que no me rompa nada y equilibrando los procesos (Con esto me refiero a que SI podés por ejemplo limpiar de XSS en la entrada, aunque no tenga nada que ver con "sql inyección" y no en la salida por cada pedido, donde no es algo que necesites tener en la db ya que se supone como maligno.)

El htmlentities, strip_tags, trim, nl2br, y demás están bien, pero cuando necesites de ellos, para guardarlos no es algo que te romperá nada en ese proceso, si en la salida.

Esta regla se puede romper si lo que queres en la db es un dato limpio de tags y demás, pero ahí ya corre tu análisis sobre el sistema que estés realizando.

Espero que esto te despeje un poco del quilombo que tenés en la capocha, y analiza los consejos, ni siquiera los mios son confiables ...si no tenes esta capacidad dedicarte a otra cosa sería una buena opción

Saludos, y cualquier cosa consulta!
__________________
Mi punto de partida es Que Bueno Lo Nuevo