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

Ideas para proteger formulario/información

Estas en el tema de Ideas para proteger formulario/información en el foro de ASP Clásico en Foros del Web. Hola chicos/as, Busco ideas ingeniosas sobre este problema: tras bastante tiempo dándole vueltas, no he conseguido desarrollar una forma mas o menos segura de procesar ...
  #1 (permalink)  
Antiguo 17/11/2005, 05:59
 
Fecha de Ingreso: noviembre-2005
Mensajes: 18
Antigüedad: 19 años, 5 meses
Puntos: 0
Ideas para proteger formulario/información

Hola chicos/as,

Busco ideas ingeniosas sobre este problema:
tras bastante tiempo dándole vueltas, no he conseguido desarrollar una forma mas o menos segura de procesar lo siguiente, os agradezco vuestras ideas:
- Se trata de un listado de empresas. El usuario selecciona las que le interesan y es redirigido a la página de contacto. La página de contacto captura las Ids de las empresas. El usuario completa los datos de contacto y al enviar el formulario, se envía a todas las empresas que previamente seleccionó, utilizando sus Ids.

El tema es que me da miedo que alguien desde fuera utilice un script o similar para fusilar la base de datos y contactar con todas las empresas - ya que los Ids van del 1 al 30.0000 - . He pensado en validaciones tipo session, pero la web recibe 300.000 usuarios y quizá eso cargaría mucho el servidor. También en validar la URL de procedencia, pero es facil falsificar la URL. NO puedo obligar al usuario a identificarse.

En definitiva necesito algún sistema de seguridad que sea casi infalible. Alguien tiene ideas?
  #2 (permalink)  
Antiguo 17/11/2005, 06:36
Avatar de 3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 21 años, 4 meses
Puntos: 144
Cita:
Iniciado por Neoland
...También en validar la URL de procedencia, pero es facil falsificar la URL...
Vaya, eso no lo sabía. ¿Eso se puede hacer?. Si validas la URL de procedencia utilizando variables del servidor, dudo que alguien pueda falsificarla.

Prueba a utilizar la variable de servidor llamada "HTTP_REFERER"
  #3 (permalink)  
Antiguo 17/11/2005, 06:49
Avatar de meru-kun  
Fecha de Ingreso: noviembre-2002
Ubicación: Madrid
Mensajes: 854
Antigüedad: 22 años, 5 meses
Puntos: 0
O quizá también una pequeña cookie que te garantice que es ese usuario el que solicitó la información. O una combinación de la cookie y el referer.
__________________
Tu portal de manga y anime.
  #4 (permalink)  
Antiguo 17/11/2005, 08:41
 
Fecha de Ingreso: noviembre-2005
Mensajes: 18
Antigüedad: 19 años, 5 meses
Puntos: 0
La verdad es que no es mi intención dar ideas, pero jugando con el archivo de hosts de tu ordenador puedes crear una web en local que simule estar navegando en www.tuempresa.com, aunque realmente estás en http://localhost/etc
el tema es que desde aquí podrías llamar al formulario que valida la URL de procedencia, con lo que la validación de URL no sirve - a mi intender.
Por otro lado, la variable de sesión, o la cookie, están bien, pero sis e generan como es el caso más de 50.000 páginas diarias sobre esto resultan "pesadísimas" para el procesador, así que estoy buscando alternativas
.Ideas?
  #5 (permalink)  
Antiguo 17/11/2005, 11:49
 
Fecha de Ingreso: noviembre-2005
Mensajes: 18
Antigüedad: 19 años, 5 meses
Puntos: 0
Se me ha ocurrido esta tarde utiliza el SHA o SHA-1 que utilizan las pasarelas de pago para el tema de la seguridad. Voy a intentarlo.
salu2
  #6 (permalink)  
Antiguo 17/11/2005, 16:55
Avatar de Hereje  
Fecha de Ingreso: junio-2002
Ubicación: Córdoba, Argentina
Mensajes: 439
Antigüedad: 22 años, 10 meses
Puntos: 2
Creo que la solución está en: Session.SessionID. Vos mismo lo dijiste, mirá:

Cita:
"... - Se trata de un listado de empresas. El usuario selecciona las que le interesan y es redirigido a la página de contacto junto con el SessionID. La página de contacto captura las Ids de las empresas y el SessionID y corrobora si es el mismo que el actual. El usuario completa los datos de contacto y al enviar el formulario, se envía a todas las empresas que previamente seleccionó, utilizando sus Ids..."
Listado de empresas:
Código:
<a href="contacto.asp?id=<%= id_empresa %>&sid=<%= session.sessionid %>">Empresa</a>
Contacto:
Código:
<%
dim id_empresa, ids
id_empresa = request("id_empresa")
ids = request("ids")

if ids <> cstr(session.sessionid) then response.redirect("losiento.htm")
%>
Espero sirva de algo, hasta luego!
__________________
Sergio
  #7 (permalink)  
Antiguo 18/11/2005, 01:37
 
Fecha de Ingreso: noviembre-2005
Mensajes: 18
Antigüedad: 19 años, 5 meses
Puntos: 0
Hola Hereje,

gracias, el problema es evitar eso. Inicialmente es correcto para opciones tipo login.asp, o otras validaciones, pero cuando se trata de una página que se muestra al día varios miles de veces (esa página solo) y el crear una sesion y destruirla consume muchos recursos. Por otro lado no puedo obligar al usuario a que se registre - por el concepto del diseño -. En fin, probaré con el código de seguridad y os cuento.
salu2
  #8 (permalink)  
Antiguo 18/11/2005, 08:55
Avatar de Hereje  
Fecha de Ingreso: junio-2002
Ubicación: Córdoba, Argentina
Mensajes: 439
Antigüedad: 22 años, 10 meses
Puntos: 2
Una session en el servidor se crea si o si cuando el usuario entra en nuestra página. Esa sessión es única y es que la que te recomiendo usar para la aplicación. No bajará el rendimiento de tu página por esto.
__________________
Sergio
  #9 (permalink)  
Antiguo 18/11/2005, 09:22
Avatar de JuanRAPerez
Colaborador
 
Fecha de Ingreso: octubre-2003
Mensajes: 2.393
Antigüedad: 21 años, 6 meses
Puntos: 27
la session se crea cada ves que alguien entra a tu sitio, es un correlativo que lleva el server, lo unico que haras es declarar la variable para capturarla y poner la validación.
__________________
JuanRa Pérez
San Salvador, El Salvador
  #10 (permalink)  
Antiguo 18/11/2005, 09:55
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
Si, al menos que se establezca el "@ENABLESESSIONSTATE = False" (que no estoy seguro si se escribe así), la sesión (o el sessionID) se crea automáticamente. Distinto es asignarle valores o no a una variable session en particular.
__________________
...___...
  #11 (permalink)  
Antiguo 22/11/2005, 06:46
 
Fecha de Ingreso: noviembre-2005
Mensajes: 18
Antigüedad: 19 años, 5 meses
Puntos: 0
gracias chicos.
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 08:48.