
08/09/2008, 00:35
|
| | 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. |