webForumDet fria alternativet

Problem med inloggning 3 misslyckade försök plus spärrtid

ASP

2 svar · 158 visningar · startad av LearningASP

Medlem sedan okt. 2001127 inlägg
Frågan#1

Har suttit och gjort en inloggningsida som spärrar användaren om han/hon har gjort tre misslyckade försök i 30 min, men får det inte att funka riktigt.

det känns om om den inte utför koden "upp ifrån och ner" ut gör lite av varje, vore toppen schysst om nån har lust att kika på detta, så kan Ni fråga på om det är något som är oklart för jag har gått bet på den

(bifogar filen - Sökvägen till databsen behöver ändras ;) )

Tack på förhand

Medlem sedan dec. 200012 464 inlägg
#2

Vad är det för fil? Det är i alla fall inget som jag kan läsa.

Kan du inte bara lägga koden i en textfil eller lägga in den här?

Medlem sedan okt. 2001127 inlägg
#3

okej, man behöver winrar för att läsa den, men jag kan lägga in koden :)

<%
	If Request.Form("FormAnvID") = "" AND Request.Form("FormLosen") = "" Then
		Response.Redirect "login.asp?except=both"
	ElseIF Request.Form("FormAnvID") = "" Then
		Response.Redirect "login.asp?except=AnvID"
	ElseIF Request.Form("FormLosen") = "" Then
		Response.Redirect "login.asp?except=Losen"
	End If

	Dim intAnvID, strLosen, ObjConn, SQL, rs
	
	intAnvID = Request.Form("FormAnvID")
	strLosen = Request.Form("FormLosen")
	
		Set objConn = Server.CreateObject("ADODB.Connection")
		objConn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=e:\inetpub\wwwroot\asp\databas\user.mdb" 
		SQL = "SELECT usr_t_loginnamn, usr_t_password, usr_t_loginforsok, usr_t_sparr FROM anvinfo WHERE usr_t_loginnamn = '" & intAnvID & "' AND usr_t_password = '" & strLosen & "' "
		'Response.Write " " & SQL & ""
		set rs = objConn.Execute(SQL)
		
		If RS.EOF Then
		'felaktigt inloggning
			
			t_SQL = "SELECT usr_t_loginnamn, usr_t_loginforsok, usr_t_sparr FROM anvinfo WHERE usr_t_loginnamn = '" & intAnvID & "' "
			'Response.Write " " & SQL & ""
			set rs = objConn.Execute(t_SQL)
			
			If RS.EOF Then
				Response.Redirect "login.asp?except=notfound"
			Else
				set rs = objConn.Execute("SELECT usr_t_loginforsok,usr_t_sparr FROM anvinfo WHERE usr_t_loginnamn = '" & intAnvID & "'")	
			
				strForsok = rs("usr_t_loginforsok") + 1
					
				sparrTid = DateAdd("n", 30, now)
				
				If rs("usr_t_sparr") <= now Then
					SQL = "UPDATE anvinfo SET " &_
					" usr_t_loginforsok = 0 "
					SQL = SQL & " WHERE usr_t_loginnamn = '" & intAnvID & "' "
				
					'Response.Write "sql:<br> " & SQL & "<br><br>"			
	
					objConn.execute(sql)				
					
				End if
					
				If strForsok > 3 Then
						
					SQL = "UPDATE anvinfo SET " &_
					" usr_t_sparr = #" & sparrTid & "# "
					SQL = SQL & " WHERE usr_t_loginnamn = '" & intAnvID & "' "
			
					'Response.Write "sql:<br> " & SQL & "<br><br>"	
								
	
					objConn.execute(sql)
					
					response.redirect("login.asp?sparrad="&rs("usr_t_sparr")&"")
				
				Else				
				
					SQL = "UPDATE anvinfo SET " &_
					" usr_t_loginforsok = " & strForsok & " "
					SQL = SQL & " WHERE usr_t_loginnamn = '" & intAnvID & "' "
				
					'Response.Write "sql:<br> " & SQL & "<br><br>"			
	
					objConn.execute(sql)
						
					response.redirect("login.asp?sparrleft="&strForsok&"")
				End if				
			End If
				
		Else
		'allt i sin ordning
			If rs("usr_t_sparr") >= now Then
				response.redirect("login.asp?sparrad="&rs("usr_t_sparr")&"")
			Else	
				SQL = "UPDATE anvinfo SET " &_
				" usr_t_loginforsok = 0 "
				SQL = SQL & " WHERE usr_t_loginnamn = '" & intAnvID & "' "
				
				objConn.execute(sql)
			
				Response.Redirect("index.asp")
			End if
						
		End If
			
		'objConn.close
		'SET objConn = nothing
		'rs.close
		'SET rs = nothing
	%>
259 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)