43 messaggi dal 18 settembre 2001
AIUTOOOOOOOOOOOO SEOMENNNNNNNNNNN

CON QUESTE CONDIZIONI...SE OMETTO TUTTI E DUE I CAMPI MI FA UGUALMENTE IL LOGIN!
TI RIPOSTO IL CODICE:

IF objRSana.eof=True Then
'***CODICE NON ESISTENTE***
Response.Redirect("help.asp")

ElseIf objRSana("webpassword")<>webpassword then
'****PASSWORD ERRATA****
Response.Redirect("help.asp")

Else
'*****ACCESSO CORRETTO*****
Response.Redirect("default7.asp")
2.907 messaggi dal 15 maggio 2001
Contributi
Perchè non eseguire entrambi i controlli via query ???
Onde evitare attacchi si può benissimo creare una piccola funzione che ti elimina possibili caratteri nocivi...

<!--#include virtual="script/connessionedb.asp"--> 

<% 
Function controlla(questo)
  questo = Replace(questo, "'", "''")
  questo = Replace(questo, "_", "[_]")
  questo = Replace(questo, "[", "[[]")
  questo = Replace(questo, "]", "[]]")
  questo = Replace(questo, "#", "[#]")
  questo = Replace(questo, "%", "[%]")
  questo = Replace(questo, &vbcrlf , "")
  controlla = questo
End function


Dim User , WebPassWord , Codice 
Codice=controlla(request.form ("Codice"))
WebPassWord=controlla(request.form ("WebPassWord "))

if (Len(Codice)=0 OR Len(WebPassWord)=0) then
Response.Redirect("default7.asp") 
Response.end
end if

response.write "Codice=" & Codice 
response.write "WebPassWord =" & WebPassWord 

strsqlana="Select * from dbase.mdb where Codice='" & Codice & "' and WebPassWord ='" & WebPassWord & "'" 

Set objRSana = Server.CreateObject("ADODB.Recordset") 
objRSana.Open strsqlana, objConn ,1,1

if objRSana.EOF then
Response.Redirect("default7.asp") 
Response.end
else 
Response.Redirect("help.asp") 
end if
 
objRSana.Close 
Set objRSana = Nothing

%> 
<!--#include virtual="script/chiudiconnessione.asp"-->


Modificato da rome il 31 agosto 2004 22.18 -
2.584 messaggi dal 14 maggio 2001
Se entra comunque anche senza aver valorizzato i due campi direi che il problema è che ha trovato comunque un record che soddisfa le condizioni della tua select...
prova a verificare se hai ad esempio un record con codice nullo...

Ti direi di verificare prima del submit che entrambi i campi siano valorizzati con un controllo javascript sul submit e poi, se vuoi abbondare, fai il controllo come ti ha consigliato Rome sulla lunghezza maggiore di zero lato server prima della connessione al db...
43 messaggi dal 18 settembre 2001
grazie ragazzi ho risolto...vi posto il codice..ditemi se puo' essere sicura in questo modo oppure è meglio come l'ha postata rome...
***********************************************************
un'altra cosa...perchè non mi funziona questo controllo all'inizio pagina x proteggerla?...cioè in ogni caso è sempre protetta anche effettuando il login:


<%
if session("codice")<>"objRSana" AND session("webpassword")<>"objRSana" then
response.write ("Permesso negato")
response.end
end if
%>

*********************************************************


codice:

<!--#include virtual="script/connessionedb.asp"-->

<%

Dim cliente , webpassword, codice


codice=request.form ("codice")
webpassword=request.form ("webpassword")

'response.write "codice=" & codice
'response.write "pwd =" & webpassword


strsqlana="Select * from miodb.mdb anagrafica where Codice='" & codice & "' and WebPassWord ='" & webpassword & "'"


Set objRSana = Server.CreateObject("ADODB.Recordset")
objRSana.Open strsqlana, objConn
response.write "<br>" & strsqlana


IF Len (codice) <1 or len (webpassword) <1 then
Response.Redirect("help.asp")
End If
'response.write strsqlana:response.end


IF objRSana.eof=True Then
'***CODICE NON ESISTENTE***
Response.Redirect("help.asp")

ElseIf objRSana("webpassword")<>webpassword then
'****PASSWORD ERRATA****
Response.Redirect("help.asp")

Else
'*****ACCESSO CORRETTO*****
Response.Redirect("default7.asp")



END IF

%>


<%
objRSana.Close
Set objRSana = Nothing
%><!--#include virtual="script/chiudiconnessione.asp"-->
2.584 messaggi dal 14 maggio 2001
Questo controllo:
if session("codice")<>"objRSana" AND session("webpassword")<>"objRSana" then

Verifica che nella sessione non ci sia il valore "objRSana" (inteso come testo) cosa volevi verificare?

La scelta di controllare la password nella select oppure di controllarla a codice sono simili come sicurezza finale... non sono altro che due metodi differenti di approcciare lo stesso problema...
Nel tuo caso hai però mischiato entrambi... se metti nella select il controllo sulla password è poi inutile metterlo anche a codice...
43 messaggi dal 18 settembre 2001
seoman,

conoscendo la path della pagina...ovvero scavalcando il login si accede alla pagina default7.asp...quindi dovrei mettere un controllo all'inizio pagina...
ma con queste condizioni la pagina è sempre protetta in ogni caso.....dove sbaglio?



<%
if session("codice")<>"objRSana" AND session("webpassword")<>"objRSana" then
response.write ("Permesso negato")
response.end
end if
%>
2.584 messaggi dal 14 maggio 2001
In tutte le tue pagine protette devi mettere un controllo del tipo:

If Len(session("codice"))=0 Then
response.write "accesso negato"
response.end
End If

Eventualmente con un ritorno alla pagina di login, il controllo sulla password è inutile
43 messaggi dal 18 settembre 2001
grazie seoman....provo e ti faccio sapere....dopo ti devo chiedere un0altra piccola cosa....:-)

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.