Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

xanburzum

Tentativas de Login

Recommended Posts

Vamos imitar as tentativas incomparável para 5 tentativas, e as tentativas corresponde a três tentativas. Se o limite máximo de tentativas tenha for atingido, vamos bloquear o usuário, e encerrar a sessão. Se o limite máximo correspondente das tentativas tenha sido atingido, vamos bloquear o usuário indefinidamente até que o administrador as desbloqueie.

 

ele esta gerando algum número de erro ?

 

olha este exemplo que uso

 

login.asp

 

 

<% @ Language = VBScript%>
<%
Dim msg
msg = Request.QueryString ("msg")

Se msg <> "" Then
Response.write (msg)
End If
%>

<BR>
<FORM METHOD='post' ACTION='loginDone.asp'>
<input type='text' name='userID' size='20' maxlength='16'> User ID <BR>
<input type='text' name='userPW' size='20' maxlength='16'> Senha <BR>
<input type='submit' value='Submit'> <BR>
</ FORM>

 

 

 

 

loginDone.asp


<% @ Language=VBScript %>
<%
 Option Explicit
 Response.Expires = 0
%>
<!-- #include file="ADOVBS.INC" -->
<%
 If session("memberCount") => 3 Then
       Response.write("Você tem incorretamente tentou acessar a área de membros 3 ou mais vezes. <BR>")
       Response.write("A conta" & Session ("memberName") & "foi bloqueado. <BR>)
       Response.write("Contate o administrador para desbloquear a conta.<BR>")
       'Insira aqui o seu banco de dados conexão para definir o "userLockout" campo Sim / Não que corresponde a sessão ("memberName") para True para que estes sejam bloqueados até que o administrador as desbloqueie
       Response.End
 Elseif session("userCount") => 5 Then
       Response.write("Você tentou incorretamente acessar a área de membros 5 ou mais vezes.<BR>")       
       Response.End
 End If

 Dim userID, userPW
 userID = Trim(Request.Form("userID"))
 userPW = Trim(Request.Form("userPW"))
 If userID="" or userPW="" Then
       Response.redirect("login.asp?msg=You+Must+Enter+A+User+ID+AND+Password!")
 End If

 Dim conn, connString, rs, sql
 'Fazer um conjunto de registros desconectado para pesquisas mais rápidas e utilizando menos recursos no servidor.
 sql = "SELECT * FROM users WHERE ((users.id)='" & userID & "');"
 Set conn = Server.CreateObject("ADODB.Connection")
 connString = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("myDatabase.mdb") & ";"
 conn.Open connString
 Set rs = Server.CreateObject("ADODB.Recordset")
 rs.CursorLocation = adUseClient
 rs.Open sql, conn, 3, 1, adCmdText
 rs.ActiveConnection = Nothing
 conn.Close
 Set conn = Nothing

 If rs.EOF Then
     If session("userCount") <> "" Then
         session("userCount") = session("userCount") + 1
     Else
         session("userCount") = 1
     End If
     Response.redirect("login.asp?msg=No+Such+User")
 Else
     If rs("lockout") = True Then
         Response.write("A conta " & session("memberName") & " foi bloqueada.<BR>")
         Response.write("Contate o administrador para desbloquear a conta.<BR>")
         Response.End
     Else
         If session("memberName") <> userID Then
             session("memberName") = userID
             session("memberCount") = 1
         Else
             session("memberCount") = session("memberCount") + 1
         End If

         If rs("pw") <> userPW Then
             Response.redirect("login.asp?msg=Incorrect+Password")
         Else
             Session.Contents.Remove("userCount")
             Session.Contents.Remove("memberCount")
             Session.Contents.Remove("memberName")

             session("userID") = rs("id")
             session("age") = rs("age")
             session("email") = rs("email")
             session("signinFlag") = True 'para verificar o acesso a área de membros

             Response.redirect("memberArea.asp")
         End If
     End If
 End If

 rs.Close
 Set rs = Nothing
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Script muito longo para uma função tão simples, eu faria em javascript e contagem por session, em comparação ficaria 80% menor do que este code.

 

Além disso seu code utiliza ADOVBS.INC que pra mim é algo desnecessário.

Compartilhar este post


Link para o post
Compartilhar em outros sites

esta é um função bem fácil, tenho uma com JQuery, estarei postando também.

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.