Pessoal estou com um probleminha aqui. Estou bolando um quiz em asp com login e senha. Gostaria que no momento que fosse feito o logout do usuário ele só pudesse se relogar após um determinado tempo. Já fucei de tudo na net, mas acho que não estou sabendo procurar direito. Alguém teria uma sugestão?
Vlw, obrigado!
Bloquear Login Sucessivo
Started By roberto27, 02/02/2007, 16:01
6 replies to this topic
#1
Posted 02/02/2007, 16:01
#2
Posted 02/02/2007, 16:32
Bem dependendo do jeito que vc fizer é impossível impedir o bloqueio do usuário, na minha mente tem 4 modos mas apenas um vale a pena, mas todos não são 100%
1- Usar sessões para bloquear o acesso, porém é so o usuário fechar o browser bal-bal as sessões e ele pode entrar de novo.
2- Usar cookies, porém cai no mesmo setor das seções se o cara limpar os cookies e ele entra de novo.
3- Gravar o IP do usuário, porém cai nos mesmo de cima é so o cara trocar a conexão e entrar de novo.
4- E o mais seguro na minha opnião junto do login do usuário colocar um campo a mais no banco de dados que grava o tempo da saída, depois é so fazer fazer o comparativo entre a ultima data e a data atual para ver se os tempo já passou, mas assim tem uma falha se o cara não fizer o logout não vai gravar a data de saida e dai o cara vai poder entra, a unica solução a meu ver e a cada resposta gravar a ultima data para caso ele feche faça um comparativo
Mas assim um dos segredos é que o usuário não sabe o que vc ta usando exatamente, so se ele ficar testando, então da para usar essas coisas mais instaveis.
1- Usar sessões para bloquear o acesso, porém é so o usuário fechar o browser bal-bal as sessões e ele pode entrar de novo.
2- Usar cookies, porém cai no mesmo setor das seções se o cara limpar os cookies e ele entra de novo.
3- Gravar o IP do usuário, porém cai nos mesmo de cima é so o cara trocar a conexão e entrar de novo.
4- E o mais seguro na minha opnião junto do login do usuário colocar um campo a mais no banco de dados que grava o tempo da saída, depois é so fazer fazer o comparativo entre a ultima data e a data atual para ver se os tempo já passou, mas assim tem uma falha se o cara não fizer o logout não vai gravar a data de saida e dai o cara vai poder entra, a unica solução a meu ver e a cada resposta gravar a ultima data para caso ele feche faça um comparativo
Mas assim um dos segredos é que o usuário não sabe o que vc ta usando exatamente, so se ele ficar testando, então da para usar essas coisas mais instaveis.
#3
Posted 05/02/2007, 07:49
Pra que complicar pessoal!
Pra ele detectar se o cara fechou a janela e usar isso para cadastrar no BD como também uma forma de ter fechado a sessão é só ele colocar:
<body OnUnload="<%=response.redirect("nomedapagina.asp")%>">
Assim, por mais que o usuario feche a janela, nao vai ter aquela historia de session nem nada. Igual tu vai ter maior controle.
O esquema dos cookies é realmente muito facil de burlar, e normalmente as pessoas a primeira coisa que fazem é limpar os cookies ou reconectar para trocar o IP (em função de sites como o rapidshare ja se criou o costume de fazer isso, mesmo gente que é mais leiga).
O melhor controle seria dessa forma citada pelo colega acima (Nº 4) e usando tambem isso do body unload que eu postei
Pra ele detectar se o cara fechou a janela e usar isso para cadastrar no BD como também uma forma de ter fechado a sessão é só ele colocar:
<body OnUnload="<%=response.redirect("nomedapagina.asp")%>">
Assim, por mais que o usuario feche a janela, nao vai ter aquela historia de session nem nada. Igual tu vai ter maior controle.
O esquema dos cookies é realmente muito facil de burlar, e normalmente as pessoas a primeira coisa que fazem é limpar os cookies ou reconectar para trocar o IP (em função de sites como o rapidshare ja se criou o costume de fazer isso, mesmo gente que é mais leiga).
O melhor controle seria dessa forma citada pelo colega acima (Nº 4) e usando tambem isso do body unload que eu postei
BLOG Touché Criação - Vamos trocar idéias? -> http://blog.touchecriacao.com.br/
// Links úteis: Busca || Regras
// Não respondo dúvidas via mensagem privada. Use o fórum para buscar ou perguntar.
// Links úteis: Busca || Regras
// Não respondo dúvidas via mensagem privada. Use o fórum para buscar ou perguntar.
#4
Posted 05/02/2007, 16:07
Desculpe mas vc falou algo equivocado!
As linguagens Serve-Side não se comunição com JavaScript ... isso que vc coloco:
<body OnUnload="<%=response.redirect("nomedapagina.asp")%>">
Isso não existe o ASP não vai retornar nenhum tipo de informação para ativar o JavaScript se vc colocar esse código vai ocorrer uma dessa 3 coisas das possiveis:
1- Vai da erro no ASP, pois ele não conseque redirecionar para a página porque já algo escrito na tela "controle de saida".
2- Se o controle de saida estiver liberado, ou seje ele redireciona mesmo com algo escrito "Respos.Buffer"; ele ira redirecionar para a página automatico e a pessoa nem vai conseguir ver a pagina que quer ... ele vai ignorar o JavaScript ...
3- Caso ele não redirecione e não mostre erro vai ficar uma Tag vazia sem ultilidade:
<body OnUnload="">
As linguagens Serve-Side não se comunição com JavaScript ... isso que vc coloco:
<body OnUnload="<%=response.redirect("nomedapagina.asp")%>">
Isso não existe o ASP não vai retornar nenhum tipo de informação para ativar o JavaScript se vc colocar esse código vai ocorrer uma dessa 3 coisas das possiveis:
1- Vai da erro no ASP, pois ele não conseque redirecionar para a página porque já algo escrito na tela "controle de saida".
2- Se o controle de saida estiver liberado, ou seje ele redireciona mesmo com algo escrito "Respos.Buffer"; ele ira redirecionar para a página automatico e a pessoa nem vai conseguir ver a pagina que quer ... ele vai ignorar o JavaScript ...
3- Caso ele não redirecione e não mostre erro vai ficar uma Tag vazia sem ultilidade:
<body OnUnload="">
#5
Posted 07/02/2007, 02:19
Vejamos.. se o cara faz logout quer dizer que ele fez login (nossa que dedução genial!!!), se ele fez login quer dizer que ele é cadastrado, se ele é cadastrados podemos usar o id dele para restringir o acesso dele apos um logout...
é simples, toda vez que ele fizer o login vc grava no banco o id dele o dia e o horario, quando ele fizer o logout vc faz um update com dia e o horario do logout...
Se vc tiver usando global.asa é melhor ainda pois dai vc grava tambem o id da session e ele mesmo controlará caso o usuario feche a janela...
Se vc não tiver usando global.asa, ultilize o Onunload e mande o id do usuario via ajax (não tenho certeza se ele consegue enviar antes do browser encerrar) ou abrir um pop up minusculo aonde a pagina fará tudo... a desvantagem de se abrir popup é que em alguns casos o bloqueador de popup fará com que essa tecnica seja mau sucedida...
Lembrando que a tecnica do Onunload é estremamente vulneravel a fracassos... Imagine se o cara simplesmente desliga o pc, ou acaba a luz na casa do usuario....
Sua melhor opção é a ultilização do global.asa...
"<body OnUnload="<%=response.redirect("nomedapagina.asp")%>">"
Isso não funciona... ele nem exibiria a pagina ele simplesmente redicionaria ja de cara para a "nomedapagina.asp"
valeu
é simples, toda vez que ele fizer o login vc grava no banco o id dele o dia e o horario, quando ele fizer o logout vc faz um update com dia e o horario do logout...
Se vc tiver usando global.asa é melhor ainda pois dai vc grava tambem o id da session e ele mesmo controlará caso o usuario feche a janela...
Se vc não tiver usando global.asa, ultilize o Onunload e mande o id do usuario via ajax (não tenho certeza se ele consegue enviar antes do browser encerrar) ou abrir um pop up minusculo aonde a pagina fará tudo... a desvantagem de se abrir popup é que em alguns casos o bloqueador de popup fará com que essa tecnica seja mau sucedida...
Lembrando que a tecnica do Onunload é estremamente vulneravel a fracassos... Imagine se o cara simplesmente desliga o pc, ou acaba a luz na casa do usuario....
Sua melhor opção é a ultilização do global.asa...
"<body OnUnload="<%=response.redirect("nomedapagina.asp")%>">"
Isso não funciona... ele nem exibiria a pagina ele simplesmente redicionaria ja de cara para a "nomedapagina.asp"
valeu
Edição feita por: replay, 07/02/2007, 02:22.
Não me adicione no MSN pq eu não vo te ajuda... se insistir eu vo ser grosso!!!
Ta com dúvida pergunta aqui no fórum...
Grato
Ta com dúvida pergunta aqui no fórum...
Grato
#6
Posted 07/02/2007, 09:55
Eu tinha testado com o unload aqui chamar um *.asp e por isso resolvi postar. Não pensei no restante. Desculpa!
Errei mesmo, mas a intenção foi boa pode ter certeza heheh
Errei mesmo, mas a intenção foi boa pode ter certeza heheh
BLOG Touché Criação - Vamos trocar idéias? -> http://blog.touchecriacao.com.br/
// Links úteis: Busca || Regras
// Não respondo dúvidas via mensagem privada. Use o fórum para buscar ou perguntar.
// Links úteis: Busca || Regras
// Não respondo dúvidas via mensagem privada. Use o fórum para buscar ou perguntar.
#7
Posted 31/01/2008, 10:41
Galera alguem sabe como faço para barrar o acesso de usuario pelo login do mesmo???
Por exemplo:
Um tipo de usuario (login) visualiza o campo CNPJ e o outro tipo de usuario (login) visualiza o campo CPF.
Agradeço a atenção,
Apsilva
Por exemplo:
Um tipo de usuario (login) visualiza o campo CNPJ e o outro tipo de usuario (login) visualiza o campo CPF.
Agradeço a atenção,
Apsilva
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)