Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal,
Tenho um painel de controle que uso com uns comandos para que a pessoa só acesse tal painel se tiver logado, aí a pessoa se loga e pode acessar o painel, mas em determinado tempo ele pede para logar de novo, se a pessoa basta tempo inativo.
Não sei se isso é problema da programação ou dos próprios navegadores. Queria saber então como faço para que a pessoa não fique nesse tempo limitado e precise logar toda hora quando o painel, acessado, estiver inativo, sem usar?
O código que uso só é esse:
<%If session("nivel_acesso") = "" or session("nivel_acesso") <> 10 Then
Response.Write "<font color=""#000000"" face=""Arial"" size=""2"">Você não está logado. Provavelmente você não se logou ou passou muito tempo inativo. Por medida de segurança volte a logar.</font>"
Response.Write "<font color=""#000000"" face=""Arial"" size=""2""><a href=""default.asp"">Clique aqui</a></font>">
Fala ae marvi, tranquilo. na hora de logar use a função
<%
session.Timeout=99999 'O tempo é em segundos
%>O tempo é em segundos, dai é so voce pegar o tempo que voce queira que fica logado e converte o valor de minutos para segundos.
Falow
Coloco isso na página do painel, nas páginas todas que tiver?
Tentei e deu esse erro:
SessionID error 'ASP 0164 : 80004005'
Invalid TimeOut Value
/painel/index.asp, line 1
An invalid TimeOut value was specified.
LINHA 1: <%session.Timeout=99999%>
<%
If session("nivel_acesso") = "" or session("nivel_acesso") <> 10 Then
Voce tem uma pagian que recupera os dados do formualario e loga? esse comando voce tem tem que colocar nessa pagina.
Da uma olhada nesse codigo abaixo talves isso te ajude;
<!--#include file="config.asp" -->
<%
'arquivo que checa se existe o login e a senha do usuario que esta tentando logar
dim login, senha
login = replace(request.Form("user"),"'","")
senha = replace(request.Form("senha"),"'","")
dim rs
call connect
set rs = con.execute("SELECT * FROM usuario WHERE nome_usuario='"&login&"' AND senha_usuario='"&senha&"'")
if rs.eof = false then
session("acesso") = true
session("nome") = rs("nome_usuario")
session("loja") = rs ("cod_loja")
session.Timeout=1440
ELSE
session("acesso") = false
session("msgerro") = "<img src='imagens/ico_erro.gif'> <font color='red'>Login ou senha inválido.</font>"
end if
call disconnect
response.Redirect("default.asp")
%>Se tiver posta o codigo ae;este tempo na verdade é em minutos e deve estar muito alto
o tempo padrão é de 20 minutos e se está dando inatividade é porque teve este tempo de não acesso
não é muito bom deixar muito alto este tempo por motivos de segurança
isso é bem relativo, dependendo do segmento do site, muitas vezes o user irá precisar de mais do que o limite padrão de tempo, por exemplo imagine aqueles sites para avaliação online, no minimo 40 min., ou se um user irá atraves da page estudar os artigos...
como também você precisa tomar cuidado com este tempo por motivos de segurança
então mas a session pelo menos teoricamente só expira se ficar este tempo todo na mesma pagina
se continuar navegando o contador sempre é zerado
valeu ae Mário, me equivoquei ao dizer que era em "segundos".
Com relação ao tempo eu concordo com o Xan.. é muito relativo eu sempre deixo um tempo maior o 9999 foi so um exemplo.
eu sempre me baseio pela necessidade do cliente....
Fala ae marvi, tranquilo. na hora de logar use a função
<%
session.Timeout=99999 'O tempo é em segundos
%>O tempo é em segundos, dai é so voce pegar o tempo que voce queira que fica logado e converte o valor de minutos para segundos.
Falow