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

Cookies En Asp

Estas en el tema de Cookies En Asp en el foro de ASP Clásico en Foros del Web. HOLA, tengo un sitio en ASP, que permite accesar a diferentes tipos de usuarios, pero algunos pueden ver paginas del sitio y otros no. Entonces ...
  #1 (permalink)  
Antiguo 25/10/2006, 09:09
 
Fecha de Ingreso: mayo-2006
Mensajes: 215
Antigüedad: 18 años, 1 mes
Puntos: 0
Cookies En Asp

HOLA, tengo un sitio en ASP, que permite accesar a diferentes tipos de usuarios, pero algunos pueden ver paginas del sitio y otros no.

Entonces yo hago pruebas y entro como administrador, entonces puedo ver todas las paginas, supongo que estas se guardan , (cookies) y cuando entro como un usuario sin privilegios, algunas paginas no las veo y es correcto, pero otras si, y ya no esta bien :( , entonces cuando voy a herramientas del browser - y elimino cookies, salgo de mi sitio y vuelvo a entrar, ya aparecen restringidas las paginas para usuarios sin privilegios, no quisiera estar haciendo esto constantemente, hay alguna manera de que mis paginas asp no se almacenen, y de esta forma evitar este tipo de mal funcionamiento.

:)gracias por su ayuda.
  #2 (permalink)  
Antiguo 25/10/2006, 14:33
 
Fecha de Ingreso: mayo-2006
Mensajes: 215
Antigüedad: 18 años, 1 mes
Puntos: 0
Por favoy, contestenme, acepto cualquier comentario, necesito su ayuda, webmastersssssss pleaseeeee
  #3 (permalink)  
Antiguo 25/10/2006, 14:58
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Pues se me hace un poco extraño que restringas el acceso a páginas mediante cookies...generalmente creo que es un poco mas versatil si lo hicieras mediante sesiones, así no tienes que estar borrando las cookies cada vez que cambies de usuario, la otra es asociar la cookie al usuario en turno mediante un userID, y despues mediante una condición leer esta cookie.

Una más es que tengas un acceso directo en tu escritorio a las cookies de tu SO, así te facilitará la tarea nah, de verdad que me urge que sea viernes.

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #4 (permalink)  
Antiguo 25/10/2006, 15:14
 
Fecha de Ingreso: mayo-2006
Mensajes: 215
Antigüedad: 18 años, 1 mes
Puntos: 0
Si hay variables de sesion, y es asi como en todas las paginas consulto estas variables de sesion y dependiendo el tipo de usuarios, restringo algunas paginas, pero el problema es que de pronto, cuando alguien se loguea, y si es un usuario sin privilegios puede ver las paginas de un usuario administrador, tal vez sea porque falta poner la instruccion session.abandon o algo asi, es que el sistema ya estaba hecho cuando yo llegue, pero por ejemplo si el usuario cierra el sitio sin salir de la sesion, si solo clickea en la "x" del browser, me imagino que la sesion sigue abierta? y entonces cuando alguien entra adquiere los privilegios del usuario anterior? la verdad no entiendo bien esto, pero mi jefe penso en porque no, eliminar cookies desde que te logueas, asi podemos evitar estos problemas. alguien ayudeme porfis !!
  #5 (permalink)  
Antiguo 25/10/2006, 15:19
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Podria suceder si en el momento de cerrar el browser tuvieras otra ventana del mismo browser abierta, pero si cierras completamente el browser, aunque la sesion se quede abierta en el server(con el tiempo expirará de todas maneras), ya no tiene manera de asociar ese Session.SessionID del servidor con la cookie volátil del cliente. Precisamente por eso es el "aprouch" más concurrido si trabajas con ASP, ahora, en tu exposición hablaste de cookies no de sesiones, que son cosas similares, pero distintas a la vez. Podrías elaborar un poco más?

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #6 (permalink)  
Antiguo 25/10/2006, 20:57
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Cita:
Iniciado por u_goldman Ver Mensaje
Podria suceder si en el momento de cerrar el browser tuvieras otra ventana del mismo browser abierta, pero si cierras completamente el browser, aunque la sesion se quede abierta en el server(con el tiempo expirará de todas maneras), ya no tiene manera de asociar ese Session.SessionID del servidor con la cookie volátil del cliente. Precisamente por eso es el "aprouch" más concurrido si trabajas con ASP, ahora, en tu exposición hablaste de cookies no de sesiones, que son cosas similares, pero distintas a la vez. Podrías elaborar un poco más?

Saludos
efectivamente ........... te urge que sea viernes
  #7 (permalink)  
Antiguo 25/10/2006, 23:46
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Uno que se pone serio y tu que vienes con tus vainas a "hijackear" el post, nomás porque me mexicaniaron con aquello si no ya te la hubiera hecho efectiva

Salud!
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #8 (permalink)  
Antiguo 26/10/2006, 16:05
 
Fecha de Ingreso: mayo-2006
Mensajes: 215
Antigüedad: 18 años, 1 mes
Puntos: 0
Oigan entonces como le hago?? ya se que las diferencias de cookies y variables de sesion, las primeras se guardan en el cliente y las segundas en el servidor, las var de sesion tienen un tiempo vida 20 min por default, entonces cuando yo solicito una pagina a un servidor, este verifica que yo sea usuario y que este dado de alta en la bd, entonces me asigna una variable de session, en el servidor, ok y si me salgo sin cerrar sesion, y vuelvo a solicitar la pagina pero ahora como otro usuario, la variable de sesion anterior todavia no se elimina porque no han pasado 20 min, entonces puede confundirse y darme los datos de sesion del usuario anterior que era el administrador y de esta forma poder ver las paginas que son de acceso restringido??
o como le hago, es que ay veces que entro como usuario sin privilegios y de repente me deja ver las paginas restringidas, hasta que elimino cookies en mi maquina, entonces por eso pense que el problema son las cookies, o estaria bien que cuando me logueo, borre las cookies? o ke ondas? que alguien me expliqueeeeeeeeeeeeeeeeeeeeee !!!! :(
  #9 (permalink)  
Antiguo 26/10/2006, 16:15
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Estimad@ usuari@, es muy difícil adivinar cuál es el problema, por el contrario si pones el código que se encarga de autentificar a tus usuarios podríamos tener una mejor perspectiva de que está causando esto.

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #10 (permalink)  
Antiguo 26/10/2006, 20:17
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
De hecho, estaría bien que pusieras el código, pero igual podemos ir avanzando con algunas ideas.

Digo a ver, sean cookies o sean sesiones lo que no me cabe es que digas que un usuario sin privilegios puede ver lo de un administrador por el simple hecho de que conserve las cookies o las variables de sesión; si lo que validas NO es solo la existencia de la cookie o de la sesion, sino su VALOR, y si estamos en el entendido de que cuando se loguea el usuario creas de nuevo las cookies/sesiones entonces no hay forma de que se "confunda", creo definitivamente que el problema es de código.

Esperemos a ver algo de código
  #11 (permalink)  
Antiguo 26/10/2006, 21:36
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Cita:
Iniciado por Myakire Ver Mensaje
Digo a ver, sean cookies o sean sesiones lo que no me cabe es que digas que un usuario sin privilegios puede ver lo de un administrador por el simple hecho de que conserve las cookies o las variables de sesión; si lo que validas NO es solo la existencia de la cookie o de la sesion, sino su VALOR, y si estamos en el entendido de que cuando se loguea el usuario creas de nuevo las cookies/sesiones
Es que precisamente a eso iba cuando le dije que quizas si lo hace con cookies, es posible que no este evaluando el valor, a todo esto no me queda claro si esta validando con cookies o con sesiones.

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #12 (permalink)  
Antiguo 27/10/2006, 14:24
 
Fecha de Ingreso: mayo-2006
Mensajes: 215
Antigüedad: 18 años, 1 mes
Puntos: 0
Ok cuando entro a la pagina principal donde me pide login y password:se llama a este asp que valida si soy usuario del sitio y si estoy en la bd.
<%
Set Conn=Server.CreateObject("ADODB.Connection")
Conn.Open Conn_String

' Se define el rs para el catalogo de unidades Organizacionales
Set rs_usuario = Server.CreateObject("ADODB.Recordset")

sql = "SELECT * FROM USUARIOS WHERE uid_usu='"&request.Form("usuario")&"' AND pwd_usu='"&request.Form("contrasenia")&"'"
rs_usuario.Open sql, Conn, 1 ,1

num = rs_usuario.recordcount

if rs_usuario.recordcount = 0 then
session("acceso") = false
%>
Lo sentimos su nombre de usuario y contrase&ntilde;a no son v&aacute;lidos, por favor verfique sus datos

<%Elseif rs_usuario.fields("Activo")=false then %>
Lo sentimos su cuenta ha sido desactivada

<% Else

session("acceso") = true
session("uid_usu") = rs_usuario.fields("uid_usu")
session("nombre_usuario") = rs_usuario.fields("nom_usu")
session("tpo_usu") = rs_usuario.fields("tpo_usu")
session("cve_ger") = rs_usuario.fields("cve_ger")
session("cve_ser") = rs_usuario.fields("cve_ser")

%>
<script>
location.href="principal.asp"
</script>
<% end if%>

------------------------------ahora en las paginas que deben restringirse tiene este codigo inicial.
<%
if session("tpo_usu") = "S" or session("tpo_usu") = "G" then
response.redirect("acceso_restringido.asp")
end if
%>

----------------------------------------
y todas las paginas que conforman el sitio, tiene un archivo que se incluye
y el codigo es:(<!--#include file="valida_acceso.asp" -->)

<%
if session("acceso") = false or ("nada" & session("acceso")) ="nada" then
%>
<script>
top.location.href="sesi.html"
</script>
<%
end if
%>
------------------------------
y en la pagina de terminar sesion tiene el siguiente codigo, que no entiendo porque yo pense que aqui es donde se destruyen las variables de sesion:
y no viene nada de codigo asp, solo son enlaces.

Desea usted salir de esta sesión
</p>
<p><a href="sesi.html" target="_parent"><img src="imagenes/continuar.gif" width="86" height="20" border="0" /></a>
<a href="vacia.asp"><img src="imagenes/cancelar.gif" width="86" height="20" border="0"></a>
</p>
----------------------------------------------------------------
Ok ahora no se que esta fallando ya me hice bolas con las cookies y las variables de sesion, hace ratito hice pruebas y efectivamente, si primero abro el sitio e ingreso como administrador, pues todo jala bien, pero me salgo y ahora entre como un usuario sin privilegios("S","G"), y algunas paginas que no debe mostrarme , pues me las muestra y reviso el codigo y efectivamente tienen el codigo que restringe y tambien el include, yo pienso que son las cookies que dejo el administrador?¿ no se la cosa es que no puede seguir pasando esto, porque la gente que no tiene permisos puede hacer cosas que solo el administrador podria hacer, y esto esta muy mal, que puedo hacer? elimino cookies, o variables de sesion? o que hagoo?? ayudenme chicos porfavor, esto me esta matando.
Hace ratito elimine cookies desde el browser y me logueaba como usuario sin privilegios, y aun me mostraba las paginas que solo administrador puede ver, pero cuando actualizaba(F5) ya me mostraba la pagina de acceso restringido, que pasa con esto???
Please, espero pronto su ayuda.
Gracias de antemano.
  #13 (permalink)  
Antiguo 27/10/2006, 15:13
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Pues lo primero que yo haria seria comprobar que no sea cache lo que estas viendo. Máxime que estás haciendo redirecciones en el cliente, es muy probable que por eso cuando borras temporales, pues ya está todo normal.

Haz favor de incluir en tus páginas:

Código:
<% 
    pStr = "private, no-cache, must-revalidate" 
    Response.ExpiresAbsolute = #2000-01-01# 
    Response.AddHeader "pragma", "no-cache" 
    Response.AddHeader "cache-control", pStr 
%>
Más info al respecto:
http://classicasp.aspfaq.com/general...m-caching.html

Si no es esto, no queda mas que comprobar todos los valores posibles poco a poco con mucha calma y paciencia.

Ah finalmente, por favor utiliza las funciones que están en la librería de funciones de este foro, para evitar la inyección de SQL, ya que sesiones, cookies o lo que sea, tu aplicación es vulnerable. Eso o busca consultas parametrizadas en este foro, se ha tratado el tema varias veces.

Saludos!
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #14 (permalink)  
Antiguo 27/10/2006, 15:32
 
Fecha de Ingreso: mayo-2006
Mensajes: 215
Antigüedad: 18 años, 1 mes
Puntos: 0
Oye entonces, crees que se la cache, osea que se estan guardando las paginas ?? algo asi como las cookies? charros cuanto relajo con estas cosas, bueno voy a agregar ese codigo a todas mis paginas, y te informo que paso, otra cosa, no hay problema con la pagina de fin de sesion? no importa que no tenga session.abandon o algo asi??

y otra cosa, no entiendo el termino inyeccion de SQL, consultas parametrizadas, algo como procedimientos almacenados?? las consultas estan mal?

bueno gracias por todo.
  #15 (permalink)  
Antiguo 27/10/2006, 15:41
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
No vayas a ponerlo en todas tus paginas, ponlo dentro de un include que seguramente debe ser comun para todas , por si no es eso, no tienes que ir una por una a quitarlo.

Con respecto a lo anterior, no se, una cosa a la vez.

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #16 (permalink)  
Antiguo 27/10/2006, 16:18
 
Fecha de Ingreso: mayo-2006
Mensajes: 215
Antigüedad: 18 años, 1 mes
Puntos: 0
Soy una tonta, puse el codigo en un archivo y despues lo pegue asi en casi todas las paginas" <inclue=cache.asp> " , pero hay otros archivos que tambien estan incluidos en casi todas las paginas, no pense en solo agregar ese codigo a uno de esos archivos. :( jijii
Oye pues que crees, una vez que anexe ese codigo, probe las paginas, y me logueo como administrador, cierro sesion, entro como usuario sin privilegios y ahora si veo las restricciones, despues, vuelvo a entrar como administrador, asegurandome de abrir todas las paginas que el usuario sin priv.. no abriria, y entonces cierro la sesion desde el browser(incorrectament pero es para probar funcionamiento) y vuelvo a loguearme como user sin priv, y ke krees??
todo funciona bien, las paginas estan restringidas, :)
graciassssssssssssssssssssssssssss, espero que ese halla sido el problema, ojala, no vaya a ser que mañana que regrese a trabajar me haga lo mismo que antes, bueno de todas formas crees que seria bueno que pusiera un codigo para borrar cookies de mi sitio en el cliente cuando me loguee? o no es necesario??

THANK YOU FOR YOUR HELP
  #17 (permalink)  
Antiguo 27/10/2006, 16:27
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
No...no es necesario, se evalua el valor de las cookies, no si existe o no, como ya lo dijo Myakire.

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #18 (permalink)  
Antiguo 27/10/2006, 16:29
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Cita:
Iniciado por Sugey Ver Mensaje
y otra cosa, no entiendo el termino inyeccion de SQL, consultas parametrizadas, algo como procedimientos almacenados?? las consultas estan mal?

De nuevo, busca en el foro el tema, es importante.

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #19 (permalink)  
Antiguo 27/10/2006, 16:50
 
Fecha de Ingreso: mayo-2006
Mensajes: 215
Antigüedad: 18 años, 1 mes
Puntos: 0
Oye otra cosa, con ese codigo que agregue existen desventajas? no quisiera que a la larga perjudicara mas, lei algo acerca de que el servidor guarda los archivos procesados de asp en cache, y de esta forma mejora el rendimiento, asi cuando alguien solicita algo, el server verifica en cache, algo asi la verdad soy nueva en todo esto, y con el codigo que puse, no crees que baje el rendimiento del servidor?? tu que eres experto, asesorame porfis !!
gracias :)
  #20 (permalink)  
Antiguo 27/10/2006, 17:02
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
No soy experto, pero yo te diria, no te preocupes por eso.

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #21 (permalink)  
Antiguo 28/10/2006, 14:27
 
Fecha de Ingreso: mayo-2006
Mensajes: 215
Antigüedad: 18 años, 1 mes
Puntos: 0
hola ugoldman estoy muy triste porque hoy llegue a casa y cheque el funcionamiento de mi sitio web, ya trae los cambios que hize al agregarle el codigo de la cache, y que crees?

Me loguee como administrador, despues como usuario sin privilegios, y pude ver las paginas del administrador :( :(

no se que pasa, pero creo que lo de la cache no fue la solucion, elimine las cookies y actualize (F5) la pagina, y ya me aparecio restringida.

Charros, cuando problemas con esto.
  #22 (permalink)  
Antiguo 28/10/2006, 15:06
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Repite la operacion varias vecs asegurate que no haya sido la version cache la que hayas visto.
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #23 (permalink)  
Antiguo 28/10/2006, 15:11
 
Fecha de Ingreso: mayo-2006
Mensajes: 215
Antigüedad: 18 años, 1 mes
Puntos: 0
ugoldman, si esta fallando, tambien la operaicon inversa falla, es decir si primero llego y me logueo como gerente puedo ver solo informacion d mi gerencia y si luego me logueo como administrador, jaja, tambien solo puedo ver la gerencia del usuario anterior, y esta mal, deberia ver todas las gerencias :(
  #24 (permalink)  
Antiguo 28/10/2006, 15:21
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Bueno, en ese caso no hay mas que volver atras y revisar cada valor que llega, en donde se crea y demas, de preferencia eliminar el uso de cookies y validar directamente en sesiones.

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #25 (permalink)  
Antiguo 29/10/2006, 01:43
 
Fecha de Ingreso: mayo-2006
Mensajes: 215
Antigüedad: 18 años, 1 mes
Puntos: 0
Oye u_goldman, vas a pensar que estoy demente, pero quiero darte las gracias por tu valiosa ayuda, he leido mas sobre la cache y efectivamente es la solucion a mi problema, no entiendo porque alcanzo a fallarme por un instante, pero volvi a seguir haciendo pruebas y ya no ha vuelto a fallar, ahora mando a imprimir la variable de sesion que guarda el nombre de usuario, para saber como me loguee y siempre es correcta, ademas aunque cierre la ventana del browser, y vuelva a loguearme, funciona perfectamente, lei en htt://ww.desarrolloweb.com/articulos/301.php -- p -w
sobre la cache y es exactamente el problema que yo tenia, mejor dicho por el autor del articulo
"Para evitar que páginas con contenidos personales se puedan mandar a otras personas distintas de su dueño por culpa de los servidores proxy está la propiedad Response.CacheControl. Si le asignamos el valor "Private" la página no será guardada por los servidores proxy. Si le asignamos el valor "Public" las páginas si que se almacenarán en los servidores proxy y podrán ser enviadas a otras personas.

<%
Response.CacheControl = "Public"
%>

<%
Response.CacheControl = "Private"
%>
"
Ese era el problema, la cache guardaba una copia de la pagina que habia visto un usuario admin, y despues cuando entraba un usuario sin privilegios le mandaba la copia que habia guardado del administrador.

Que bueno que exista gente como tu y que existan estos foros !!
:)
GRACIAS!!
  #26 (permalink)  
Antiguo 30/10/2006, 21:04
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Cita:
Que bueno que exista gente como tu y que existan estos foros !!
No sabes lo que has hecho ya no lo vamos a aguantar en un par de semanas hasta que se le pase la inchazón del ego (que bueno que estoy de vacaciones)
  #27 (permalink)  
Antiguo 30/10/2006, 22:58
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Si la envidia fuera tiña...je je je no es cierto, disfruta tus vacaciones estimado maestro tigu, espero que te eches unas a nuestra salud
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
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 00:04.