|
Pelo que pude perceber,
o ideal seria que o session.valida gravasse o ID do usu�rio e n�o o nome para
futuras consultas no BD
<cfset session.valida=# nonono.id#>
Outra coisa � criar um
frame oculto e no BODY desse colocar
e nesse logout.cfm
apagar todos os cookies e sessions, fazendo que mesmo quando o usu�rio
fechar a janela o logout seja for�ado.
sucesso.
Drausio.
----- Original Message -----
From: Gustavo
Ferrante
Sent: Wednesday, June 16, 2004 12:45 PM
Subject: RES: [cf-brasil] Ajuda Session Ol� pessoal,
Verifiquei
os e-mail que chegaram como resposta a minha pergunta de defini��o de session. Me parece que o cflock ir� resolver, mas vejamos o que
acontece: P�gina 1 = usu�rio
informa ID e Senha; P�gina 2 = o resultado
de uma query ser� inserida na vari�vel session.valida (o resultado dessa
query poder� ser 1 ou nenhum registro, se encontrar o
registro, define a vari�vel session.valida com o valor
de um campo da tabela que cont�m o nome da pessoa, se n�o houver resultado da
query, d� um cflocation para
a tela de login) P�ginas 3, 4, 5, 6, N = Utilizam a vari�vel session.valida para mostrar somente
informa��es pertinentes ao usu�rio logado (essas
informa��es vem de diversas querys que usam como
par�metro de busca a vari�vel session.valida).
C�digo: Apenas o trecho de
c�digo da query e defini��o da
vari�vel <cfquery
name="nonono" datasource="nononono"
password="nonononono"> SELECT
* FROM tabela WHERE tabela.id like '#login#' AND tabela.senha like '#pass#'
</cfquery> <cfset session.valida=# nonono.nome#> A� vem minhas perguntas: Utilizando
o cflock na vari�vel, far� com que eu n�o acesse
informa��es de outros usu�rios? Porque,
nas reclama��es que eu tive, as pessoas somente acessam informa��es de outras
pessoas da mesma rede sendo que eu n�o amarrei nada ao IP?
Ser� que
se eu logar e a vari�vel estiver com o valor
correspondente ao meu ID e eu continuar a utilizar o sistema e em seguida outra
pessoa logar, o sistema n�o vai come�ar a mostrar as
informa��es do outro usu�rio que logou depois?
O sistema
estava funcionando corretamente h� at� um m�s atr�s, de um dia para o outro, o
sistema ficou louco, come�ou a dar esse problema com o Login e trocar as datas como eu havia comentado no outro
t�pico. O que poderia ter acontecido? Eu hospedo minha p�gina na Porta
80. Grato mais uma
vez, Gustavo -----Mensagem
original----- Bom
acredito que o ideal � esclarecer algumas
coisas que s�o relevantes nesse tipo de problema : 1 - Existem informa��es
exclusivas que devem ser particularizadas (
dados espec�ficos de cada usu�rio etc..
) 2 - Existem informa��es
que todas ou um determinado grupo de pessoas podem ter
acesso Situa��o 1
Dicas:
Al�m de um esquema de login
consistente voc� deve certificar de :
- Limpar os Cookies ( CFID, CFTOKEN ) quando o navegador for fechado
- Usar fun��es de Remo��o ou Limpeza
de keys de Estrutura ( StructClear, StructDelete )
exemplos:
---
logout <cfscript
>
for( key in session ) structDelete( session , key );
//logout </cfscript> <cfif isDefined("Cookie.CFID") AND isDefined("Cookie.CFTOKEN")>
Situa��o 2 Em caso de conte�do compartilhado, que possa ser utilizado por mais do
que um usu�rio voc� deve estar ligado aos filtros que ser�o realizados nas
consultas de banco de dados Geralmente essas rotinas s�o mais
dif�ceis de serem encontradas, caso o desenvolvimento dos c�digos tenha sido
implementado de forma inadequada, ou seja a aus�ncia de
um where ou and numa tabela que necessitaria de filtros para o usu�rio corrente
poderia ocorrer isso: -- Exemplo de um c�digo
errado muito comum de ser
encontrado em c�digos inadequados <cfquery name="qrLogin" datasource="teste"
maxrows="1">
select usuario, nome_usuario
from usuarios </cfquery> -- cflock
etc..
<cfif qrLogin.recordcount>
<cfset Session = qrLogin
/>
</cfif> Ou
seja o usu�rio n�o realiza nehum filtro
que determina o solicitante da a��o, ent�o o c�digo ir� sugerir a primeira linha
que a consulta retornar... ( e no caso da aus�ncia do
maxRows ) ele vai sugerir todos Pode ser que esse n�o seja o seu
caso, mas essa 2� situa��o vem mostrar que como o ColdFusion n�o considera o c�digo proposto como exce��o, ele
aparenta estar em "perfeito" funcionamento, quando na verdade est� totalmente
equivocado em termos da l�gica da aplica��o. Jefferson de Ara�jo
Petilo De: Gustavo
Ferrante [mailto:[EMAIL PROTECTED] Ol�
pessoal,
Estou tendo problemas com a defini��o da sess�o. Criei uma tela de login, onde ap�s a
verifica��o do ID e senha no banco de dados, o sistema atribui a uma vari�vel
chamada session.valida um campo do banco de dados. Esse
campo servir� futuramente para mostrar informa��es pertinentes ao usu�rio
logado. Estava funcionando corretamente, o sistema somente mostrava ao usu�rio
suas informa��es, mas recebi algumas reclama��es de usu�rios, informando que
quando ele loga no sistema, aparece informa��es de outras pessoas, mesmo elas
estando em micros diferentes. Percebi ent�o que o sistema s� trocava informa��es
entre usu�rios que utilizavam a mesma rede. Por
exemplo: Local 1 (em
rede) Sistema utilizado
por: Jos� e
Mario Local 2 (em
rede) Sistema utilizado
por: Maria e
Jo�o Quando o Jos� loga, aparece as informa��es do Mario ou
vice-versa. Quando a Maria loga, aparece as informa��es do Jo�o ou
vice-versa. Nunca aconteceu do Jos� logar e aparecer as informa��es da Maria
que est� em outra rede. Por favor, me
ajudem. Grato mais uma vez pela aten��o de
voc�s, Gustavo
--^^--------------------------------------------------------------- This email was sent to: [EMAIL PROTECTED] EASY UNSUBSCRIBE click here: http://topica.com/u/?b1dnXn.b7M5gI.YXJxdWl2 Or send an email to: [EMAIL PROTECTED] For Topica's complete suite of email marketing solutions visit: http://www.topica.com/?p=TEXFOOTER --^^--------------------------------------------------------------- |
- [cf-brasil] Ajuda Session Gustavo Ferrante
- Re: [cf-brasil] Ajuda Session Ronan Lucio
- RES: [cf-brasil] Ajuda Session Andr� Lu�s
- RES: [cf-brasil] Ajuda Session Jefferson Petilo
- RES: [cf-brasil] Ajuda Session Gustavo Ferrante
- RES: [cf-brasil] Ajuda Session drausio
- RES: [cf-brasil] Ajuda Session Alex Hubner
- RES: [cf-brasil] Ajuda Session Marcelo de Dios Romar
