Foros del Web » Creando para Internet » HTML »

Limitar caja de texto en HTML

Estas en el tema de Limitar caja de texto en HTML en el foro de HTML en Foros del Web. Hola tengo una web en ASP con HTML y no consigo limitar mediante codigo ASP las cajas de texto, tengo una funcion correcta pero no ...
  #1 (permalink)  
Antiguo 29/07/2008, 06:53
 
Fecha de Ingreso: mayo-2007
Mensajes: 239
Antigüedad: 10 años, 6 meses
Puntos: 0
Limitar caja de texto en HTML

Hola tengo una web en ASP con HTML y no consigo limitar mediante codigo ASP las cajas de texto, tengo una funcion correcta pero no se porque motivo si introduzco un caracter no valido no me lo cambia o elimina (con la funcion replace). Entonces me ha surgido la duda de si lo puedo hacer con HTML, ya que las cajas de texto están en la plantilla HTML, ¿Existe alguna forma de evitar introducir ciertos caracteres o palabras en una caja de texto? y si los introduccimos nos los cambie por otros o por vacio??

Lo quiero para evitar SQL injection, es decir palabras como 'select', insert, delete, ', etc.

Gracias por su ayuda, un saludo.
  #2 (permalink)  
Antiguo 29/07/2008, 07:01
 
Fecha de Ingreso: junio-2004
Mensajes: 616
Antigüedad: 13 años, 6 meses
Puntos: 25
Respuesta: Limitar caja de texto en HTML

Cita:
Iniciado por piskui Ver Mensaje
Lo quiero para evitar SQL injection, es decir palabras como 'select', insert, delete, ', etc.
Habitulamente, con escapar todas las comillas es suficiente. Otra opción es usar procedimientos almacenados. Así no hay quien te haga una inyección de SQL ni de coña.

Pero sí, efectivamente puedes hacerlo desde el lado del cliente con JavaScript, antes de enviar el formulario.

Existe el "replace", y también puedes usar expresiones regulares si te place.

Espero haberte ayudado.

Un saludete,
eContento
__________________
eContento
- Mis artículos, tutoriales y labs
- Mis jsfiddles
  #3 (permalink)  
Antiguo 29/07/2008, 08:46
Avatar de Yaraher  
Fecha de Ingreso: abril-2007
Ubicación: Lima, Perú
Mensajes: 262
Antigüedad: 10 años, 8 meses
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.
  #4 (permalink)  
Antiguo 29/07/2008, 09:23
 
Fecha de Ingreso: mayo-2007
Mensajes: 239
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: Limitar caja de texto en HTML

gracias por tu respuesta, a mi con el codigo javascript que impida el ingreso de algunas palabras en el login me serviria, he mirado y solo he encontrado una funcion que solo permite introducir numeros en la caja de texto, como podria hacer para que no deje introducir algunas palabras? sabeis donde puedo buscar la funcion?

Gracias.
  #5 (permalink)  
Antiguo 29/07/2008, 09:35
 
Fecha de Ingreso: mayo-2007
Mensajes: 239
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: Limitar caja de texto en HTML

No lei tu mensaje eContento, gracias por responder.
Primero yo el login lo realizo con un Procedimiento almacenado, que valida el usuario y la clave. Con esto seria suficiente? me gustaria asegurarlo mas introduciendo el limitador de palabras SQL.
Una cosa que no entendi....a que te refieres con: 'escapar todas las comillas es suficiente' Como hago para que si hay comillas salga? en HTML, que codigo??

Mi campo usuario en HTML es este:
Código PHP:
<input class="CasillaNew" type="text" name="login" id="tlogin" maxlength="20" style="width:140px;border:1px solid black;"
como introduzco ahi el codigo que limite esas palabras? o debo introducirlo en el codigo del boton 'ENTRAR'.

Gracias por tu ayuda. un saludo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:01.