Jump to content


Photo

Bloquear Login Sucessivo


  • Faça o login para participar
6 replies to this topic

#1 roberto27

roberto27

    Novato no fórum

  • Usuários
  • 6 posts
  • Sexo:Não informado

Posted 02/02/2007, 16:01

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!

#2 sk15

sk15

    Super Veterano

  • Usuários
  • 2071 posts
  • Sexo:Masculino
  • Localidade:SP - SP

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.

#3 Nicholas Pufal

Nicholas Pufal

    Impossível: só existe até alguém duvidar e provar o contrário.

  • Usuários
  • 1655 posts
  • Sexo:Masculino
  • Localidade:Porto Alegre

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 :)
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.

#4 sk15

sk15

    Super Veterano

  • Usuários
  • 2071 posts
  • Sexo:Masculino
  • Localidade:SP - SP

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="">

#5 replay

replay

    Agora a vida começa...

  • Usuários
  • 421 posts
  • Sexo:Não informado

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 :P

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

#6 Nicholas Pufal

Nicholas Pufal

    Impossível: só existe até alguém duvidar e provar o contrário.

  • Usuários
  • 1655 posts
  • Sexo:Masculino
  • Localidade:Porto Alegre

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

;)
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.

#7 apsilva

apsilva

    Novato no fórum

  • Usuários
  • 2 posts
  • Sexo:Não informado

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




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq