Salve, ho alcuni dubbi:
1) La funzione:
nome = replace(replace(Request.Form("nomecampo"),"<","%3C "),"'","''")
cosa assegna alla variabile "nome" ? Che significa "<","%3C" ?
Evita l' sql injection ? Inoltre la funzione di cui sopra va bene per qualsiasi campo sia esso un campo di un form numero o una stringa
2) Se io apro una sessione, ossia nell' header di una pagina asp di login scrivo il seguente codice:
( e in tutte le pagine che voglio siano protette, il codice <% IF Session("amministratore") <> True Then Response.Redirect "login.asp" End if %> ), come faccio a distruggere questa sessione? Cioè cosa dovrei scrivere dentro un file chiamato logout.asp ?codice:<% username = "admin" password = "admin" If Lcase(Request.Form("username")) = Lcase(username) and Lcase(Request.Form("password")) = Lcase(password) then session("amministratore") = true Response.Redirect "Pagina_Loggati.asp" End if %>
3) Quest' ultima questione è la più delicata secondo me.
Supponiamo che io debba interrogare un database; allora uso il seguente codice ( per esempio ):
Quello che noto è che ciò funziona ma quello che non capisco è come fa a funzionare se non ho aperto la connessione al database ? Cioè se non ho scritto:codice:db_path = "driver={Microsoft Access Driver (*.mdb)};dbq=" & server.mappath("/mdb-database/nome_db.mdb") Set Rs = Server.CreateObject("ADODB.Recordset") Sql = "SELECT * FROM members WHERE username = '" & Request.Form("user") & "' AND password = '" & Request.Form("pass") & "'" Rs.Open Sql, db_path If Rs.EOF Then BLA BLA BLA ECC.... %>
<%
Set Conn = Server.CreateObject("ADODB.connection")
Conn.open db_path
%>
Allora a cosa serve aprire la connessione?
Se procedo così, al termine dello script è sufficiente che chiuda
Rs.Close
Set Rs = Nothing
senza citare la chiusura della connessione....![]()

Rispondi quotando
