Girovagando per la rete e la ricerca ho trovato un codice che dovrebbe limitare i tentativi di accesso ad una area riservata di un sito.
In teoria quando si sbagliano per tre volte (consecutive?) i dati di autenticazione l'account dovrebbe bloccarsi; dico in teoria perchè in pratica non funziona, ecco il codice:
convalida.asplogin.aspcodice:<% FUNCTION dataShort(dtData) dataShort = Year(dtData) &"/"& right("00"&month(dtData),2) &"/"& right("00"&day(dtData),2) END FUNCTION FUNCTION filtraSQL(stringa) strFiltrata = Replace(stringa,"'", "´") strFiltrata = Replace(stringa,"%", "") filtraSQL = strFiltrata END FUNCTION dim strUser strUser=request.form("user") dim strCode strCode=request.form("codice") strCode=cripta(strCode,key) strReferer = Request.Form("referer") SET objRS = Server.CreateObject("ADODB.Recordset") objRS.ActiveConnection = cn strSql = "SELECT * FROM codici WHERE userName='"&strUser&"' AND userCode='"&strCode&"'" objRS.Open strSQL IF not objRS.EOF THEN if IsNull(session("tentativi")) then session("tentativi") = 1 else session("tentativi") = session("tentativi") + 1 end if Response.Cookies("innovatel.it_accesso")("valido")="ok" Response.cookies("innovatel.it_accesso")("nome")=objRS("utente_id") Session("user") = Request("user") Session("id_utente") = objRS("utente_id") strEmail = objRS("userMail") %> <% session.sessionID data = dataShort(date()) tempo = time() Sql = "INSERT INTO ACCESSI (UTENTE, DATA, ORA, SESSIONID, strEmail)VALUES('"&strUser&"', #"&data&"#, '"&tempo&"', "&session.sessionID&", '"&strEmail&"')" cn.Execute(SQL) end if ChiudiDB() Response.Redirect Request.Form("referer") Sub ChiudiDB() objRS.Close Set objRS = Nothing cn.Close Set cn = Nothing End Sub %>I dati continuano ad essere richiesti anche superati i tre tentativi...codice:<% IF Request.QueryString("referer") = "" THEN strReferer = Request.ServerVariables("HTTP_REFERER") ELSE strReferer = Request.Querystring("referer") END IF if session("tentativi") < 3 then 'FAI VEDERE IL FORM else response.write "Account bloccato" end if %>![]()

Rispondi quotando