Ver Mensaje Individual
  #7 (permalink)  
Antiguo 08/09/2008, 00:35
Moleman
 
Fecha de Ingreso: abril-2006
Mensajes: 69
Antigüedad: 19 años
Puntos: 0
Respuesta: seguridad basica en intranet.

Yo lo hago de la siguiente manera:

En la tabla 'usuarios' de mi base de datos, creo, al menos, tres campos:

- usuario
- clave
- cookie

Cuando alguien hace login, automáticamente hago un update de la cookie, generando un valor aleatorio ('random'). Además, creo una cookie en el ordenador del usuario, de esta manera:

Response.Cookies("ses") = random

Y luego, en todas mis páginas, hago un include a un archivo con el siguiente código:

<%

//////////Conecto con la base de datos//////////

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open .... etc.

//////////Creo el recordset//////////

sql = " SELECT * FROM usuarios WHERE cookie = '"& Request.Cookies("ses") &"'"

Set rs = Server.CreateObject("ADODB.RecordSet")
rs.Open sql,Conn

//////////Comprobación de que el usuario está ahí//////////

Set objRS = Conn.Execute(sql)
If (objRS.Eof) Then

Response.Redirect("index.asp")

Else
End If

%>

Así, si el valor de la cookie en el ordenador no coincide con el valor del campo cookie en la base de datos, automáticamente se le reenvía a la página de inicio de sesión.

Saludos.