Foros del Web » Programando para Internet » ASP Clásico »

susbstituir caracter de formulario

Estas en el tema de susbstituir caracter de formulario en el foro de ASP Clásico en Foros del Web. Buenas. Aver si alguien puede ayudarme: tengo un formulario q cuando se envia, si algún campo contiene un apóstrofe se mezcla con el codigo fuente ...
  #1 (permalink)  
Antiguo 05/06/2002, 09:29
 
Fecha de Ingreso: enero-2002
Mensajes: 265
Antigüedad: 22 años, 4 meses
Puntos: 0
susbstituir caracter de formulario

Buenas. Aver si alguien puede ayudarme: tengo un formulario q cuando se envia, si algún campo contiene un apóstrofe se mezcla con el codigo fuente y me da error. Me he fijado que en ForosDelWeb se substituyen los apóstrofes por ". Pues queria saber como controlar eso. Sé como hacerlo desde JavaScript pero me han dicho que es mejor desde ASP. Como lo hago? Que opinais?
Gracias
<a href='ir.asp?http://www.ajoderseyaguantarse.com' target='_blank'>http://www.ajoderseyaguantarse.com...</a>
  #2 (permalink)  
Antiguo 05/06/2002, 09:35
Avatar de Sir Matrix  
Fecha de Ingreso: octubre-2000
Ubicación: Dentro de mi cabeza. ono?
Mensajes: 1.264
Antigüedad: 23 años, 8 meses
Puntos: 3
Re: susbstituir caracter de formulario

Saludos,

Para solucionar esta vulnerabilidad se puede almacenar los datos del formulario en variables y luego reemplazar, con la instrucción Replace, los caracteres que puedan afectar el script ASP (como la comilla simple ‘) por otros que resulten inofensivos. De esta forma, una consulta SQL segura puede ser:

&lt;%
variable1 = Request.Form(&quot;usuario&quot;) ‘Guardamos el envío en variables
variable2 = Request.Form(&quot;password&quot;)
ConsultaSQL=&quot;SELECT * FROM usuarios WHERE user= '&quot; + Replace(variable1, &quot;'&quot;, &quot;''&quot;) + &quot;' AND p_clave = '&quot; + Replace(variable2, &quot;'&quot;, &quot;''&quot;) + &quot;'&quot;
%&gt;

En este caso las comillas simples son reemplazadas por dos comillas, de manera que siempre habrá un número par de comillas en la variable, evitando de esta forma una intervención en el script.
  #3 (permalink)  
Antiguo 05/06/2002, 09:50
 
Fecha de Ingreso: enero-2002
Mensajes: 265
Antigüedad: 22 años, 4 meses
Puntos: 0
Re: susbstituir caracter de formulario

No me funciona. A ver. Soy novato y tal vez (seguramente) me equivoque, pero pq consultamos la base de datos si no se habrá aconseguido meter los campos con '? No seria algo relacionado con modificar el Request.Form? (digo yo...)
Gracias
<a href='ir.asp?http://www.ajoderseyaguantarse.com' target='_blank'>http://www.ajoderseyaguantarse.com...</a>
  #4 (permalink)  
Antiguo 05/06/2002, 09:56
Avatar de bakanzipp  
Fecha de Ingreso: noviembre-2001
Ubicación: santiago de shilli
Mensajes: 2.554
Antigüedad: 22 años, 7 meses
Puntos: 0
Re: susbstituir caracter de formulario

lo que quieres es:

1.controlar el ingreso de un dato con comilla simple
2.consultar a la base de datos ingresando una comilla como dato de entrada de consulta

what´s is the problem?
  #5 (permalink)  
Antiguo 05/06/2002, 09:59
 
Fecha de Ingreso: enero-2002
Mensajes: 265
Antigüedad: 22 años, 4 meses
Puntos: 0
Re: susbstituir caracter de formulario

Mira, si pongo comilla simple me da error pq no puede entrar en la base de datos. Entonces quiero que antes de meter los datos en la base de datos compruebe que en el formulario de envio no hay ninguna de esas comillas y si la hay cambiarla, por ejemplo por &quot;
<a href='ir.asp?http://www.ajoderseyaguantarse.com' target='_blank'>http://www.ajoderseyaguantarse.com...</a>
  #6 (permalink)  
Antiguo 05/06/2002, 10:14
Avatar de bakanzipp  
Fecha de Ingreso: noviembre-2001
Ubicación: santiago de shilli
Mensajes: 2.554
Antigüedad: 22 años, 7 meses
Puntos: 0
Re: susbstituir caracter de formulario

entonces es al ingresar...
haz lo que dice Sir...pasa el valor a una variable y utiliza el Replace...

Código:
  
&lt;%
variable=Request.form(&quot;dato_a_ingresar&quot;)
Entrada=Replace(variable,&quot;'&quot;, &quot;''&quot;) 

SQL=Insert into tabla values('&quot; &amp; entrada &amp; &quot;');&quot;
Set Registro=Conexion.execute(SQL);
%&gt;





  #7 (permalink)  
Antiguo 05/06/2002, 10:29
 
Fecha de Ingreso: enero-2002
Mensajes: 265
Antigüedad: 22 años, 4 meses
Puntos: 0
Re: susbstituir caracter de formulario

OK. Ya me ha funcionado. Muchas gracias!
<a href='ir.asp?http://www.ajoderseyaguantarse.com' target='_blank'>http://www.ajoderseyaguantarse.com...</a>
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 02:21.