Ver Mensaje Individual
  #3 (permalink)  
Antiguo 29/07/2008, 07:46
Avatar de Yaraher
Yaraher
 
Fecha de Ingreso: abril-2007
Ubicación: Lima, Perú
Mensajes: 262
Antigüedad: 17 años
Puntos: 9
Respuesta: Limitar caja de texto en HTML

Aún uses procedimientos almacenados, eso no evita que si logran corren SQL en tu aplicación la SGDB no lo ejecute. Pruébalo tú mismo. Simplemente escribe "truncate database UNABD" en un entorno lleno de Stored Procedures y mira qué pasa ;).

Existe dos enfoques para resolver ese problema. Primero, mediante JavaScript puedes impedir el ingreso de algunos elementos. Sin embargo, es una forma ruda para el usuario; sólo imagina que un cliente que hable inglés trate de escribirte y use alguna de esas palabras (que son correctas).

El problema no es que se ingrese el código. El problema es que se ejecute. Lo que debes hacer es sanitizar el texto apenas sea ingresado. Existen infinidad de tutoriales sobre el tema, la mayoría convierte en entidades todo el código que encuentres, reemplaza algunas palabras con otras y similares.

De esa forma, así se escape algo y se "ejecute", probablemente lo que se ejecute sea un código SQL inválido que no haría daño, y que podrías revisar mediante tus logs.