Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    cookies o session che non va

    é la prima volta che cerco di fare un sistema di login con cookies
    ma vorrei che l'utente sceglie se vuoi entrare su sito con cookies o session
    del modo che ho fatto non funziona
    in che ho sbagliato??
    Grazie

    pagina che verifica.asp login


    <%if au<>"brit_ok" then
    brit_ut = Server.HtmlEncode(request.form("UserName"))
    brit_ut = request.form("UserName")
    brit_ut = replace(brit_ut,"'","''")
    brit_ut = replace(brit_ut,"#","''")
    brit_ut = replace(brit_ut,"$","''")
    brit_ut = replace(brit_ut,"%","''")
    brit_ut = replace(brit_ut,"¨","''")
    brit_ut = replace(brit_ut,"&","''")
    brit_ut = replace(brit_ut,"'or'1'='1'","''")
    brit_ut = replace(brit_ut,"--","''")
    brit_ut = replace(brit_ut,"insert","''")
    brit_ut = replace(brit_ut,"drop","''")
    brit_ut = replace(brit_ut,"delet","''")
    brit_ut = replace(brit_ut,"xp_","''")
    brit_ut = replace(brit_ut,"select","''")
    brit_ut = replace(brit_ut,"*","''")

    brit_pas = Server.HtmlEncode(request.form("password"))
    brit_pas = request.form("password")
    brit_pas = Crypt(request.form("password"))
    brit_pas = replace(brit_pas,"'","''")
    brit_pas = replace(brit_pas,"#","''")
    brit_pas = replace(brit_pas,"$","''")
    brit_pas = replace(brit_pas,"%","''")
    brit_pas = replace(brit_pas,"¨","''")
    brit_pas = replace(brit_pas,"&","''")
    brit_pas = replace(brit_pas,"'or'1'='1'","''")
    brit_pas = replace(brit_pas,"--","''")
    brit_pas = replace(brit_pas,"insert","''")
    brit_pas = replace(brit_pas,"drop","''")
    brit_pas = replace(brit_pas,"delet","''")
    brit_pas = replace(brit_pas,"xp_","''")
    brit_pas = replace(brit_pas,"select","''")
    brit_pas = replace(brit_pas,"*","''")

    if Request.ServerVariables("HTTP_COOKIE") = "" then

    memo=request.form("memoria")
    if memo="true" then
    memoria="true"
    else
    memoria="false"
    end if

    else
    memoria="false"
    end if


    end if

    Dim brit_sql
    brit_sql = "SELECT * FROM "&tabella&"Login WHERE "&tabella&"UserName='" &brit_ut&_
    "' AND "&tabella&"password='" &brit_pas& "'"
    Dim brit_rs
    Set brit_rs = obj.Execute(brit_sql)
    'response.write (brit_sql)
    'response.end
    Dim autenticato
    if brit_rs.eof then
    brit_au = false
    else
    brit_au = true
    brit_p=brit_rs(tabella&"password")
    brit_us=brit_rs(tabella&"UserName")
    brit_livel =brit_rs("Clearance")
    brit_conto=brit_rs("conto")
    brit_id =brit_rs("id")

    end if
    brit_rs.Close
    obj.Close
    Set brit_rs = Nothing
    Set obj = Nothing


    if brit_au = true then

    if au<>"brit_ok" then

    if brit_pas=brit_p then
    if memoria="true" then
    dim intAnni
    intAnni = 1
    dim dtScadenza
    Response.cookies("brit")("brit_au") ="brit_ok"
    Response.cookies("brit")("memoria") ="true"
    Response.cookies("brit")("Us") = brit_us
    Response.Cookies("brit")("usID") = brit_id
    Response.Cookies("brit")("nivel") = brit_livel
    Response.Cookies("brit")("conto") = brit_conto
    dtScadenza = dateAdd("yyyy",intAnni, date)
    Response.cookies("brit").expires = dtScadenza
    elseif memoria="fause" then
    Session("brit_au") = "brit_ok"
    session("clearance")=brit_livel
    session("UserName")=brit_us
    session("conto")=brit_conto
    session("id")=brit_id
    end if
    end if
    end if
    %><%
    Response.Redirect ("default.asp")
    else
    Response.Redirect("errore.asp")
    end if


    %>
    la pagina di controllo.asp che metto in tutto il sito
    <%dim livel, us, conto, idus, p, memoria


    memoria = Request.cookies("brit")("memoria")
    if memoria ="true" then
    au=Request.cookies("brit")("brit_au")
    livel=Request.cookies("brit")("nivel")
    us=Request.cookies("brit")("Us")
    conto=Request.cookies("brit")("conto")
    idus=Request.cookies("brit")("usID")

    else
    au=Session("brit_au")
    livel=session("clearance")
    us=session("UserName")
    conto=session("conto")
    idus=session("id")
    end if
    if livel="" then
    livel=0
    end if
    %>
    pagina di logout.asp per cancellare cookies o session

    <%

    if request.form("button") = "logout" then
    au=""
    livel=""
    us=""
    idus=""
    conto=""
    if memoria ="true" then
    memoria=""
    Request.cookies("brit")("memoria")=memoria
    Request.cookies("brit")("brit_au")=au
    Response.cookies("brit")("Us") = us
    Response.Cookies("brit")("usID") = idus
    Response.Cookies("brit")("nivel") = livel
    Response.Cookies("brit")("conto") = conto
    intAnni = -1
    dtScadenza = dateAdd("yyyy",intAnni, date)
    Response.cookies("brit").expires = dtScadenza
    else
    Session("brit_au")=au
    session("clearance")=livel
    session("UserName")=us
    session("conto")=conto
    session("id")=idus
    end if


    end if

    Response.Redirect "default.asp"
    %>

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Domanda: perché l'utente dovrebbe scegliere il sistema di autenticazione? :master:

    Roby

  3. #3
    ho pensato
    perché magari l'utente non vuole essere sempre logato usano session che scadano nello stesso giorno.
    quelli che vuole essere sempre logato usano cookies.

    Ci sono degli utenti che hanno problemi con cookies
    dico gli utenti che non sanno usare i browser
    per abilitare i cookies
    allora usano session

    sbagliato?

  4. #4
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Se gli utenti disabilitano i cookies anche le session non funzionano....

    Roby

  5. #5
    allora cercherò di fare solo con cookies
    Grazie Roby

  6. #6
    secondo me potrebbe essere un consiglio, che esula dal cookie:

    tutti quei replace sui dati del form perchè non li metti dentro una funzione a cui passi la variabile da controllare e te la fai restituire pulita? almeno scrivi molte meno righe di codice ed è piu portabile/riutilizzabile (ad esempio potresti usarla in un forum senza dover scxrivere 10 righe di codice ogni campo...)


  7. #7
    Grazie santino83
    fatto!
    usando le due autenticazione non funziona ma come detto Roby non serve
    già che se gli utenti disabilitano i cookies le session non funzionano
    allora le pagine sono rimaste così:
    pagina funzione.asp
    codice:
    Function Filtrasql(thestringa)
    
    thestringa = Server.HtmlEncode(thestringa)
    thestringa = replace(thestringa,"'","''")
    thestringa = replace(thestringa,"#","''")
    thestringa = replace(thestringa,"$","''")
    thestringa = replace(thestringa,"%","''")
    thestringa = replace(thestringa,"¨","''")
    thestringa = replace(thestringa,"&","''")
    thestringa = replace(thestringa,"'or'1'='1'","''")
    thestringa = replace(thestringa,"--","''")
    thestringa = replace(thestringa,"insert","''")
    thestringa = replace(thestringa,"drop","''")
    thestringa = replace(thestringa,"delet","''")
    thestringa = replace(thestringa,"xp_","''")
    thestringa = replace(thestringa,"select","''")
    thestringa = replace(thestringa,"*","''")
    
    End Function
    verifica.asp
    codice:
    <%if au<>"brit_ok" then
    'per la sicurezza cambia il nome della tabella, username e password per i hacker non sapere
    tabella="xxxx"
    brit_ut = Filtrasql(request.form("UserName"))
    brit_pas = Crypt(Filtrasql(request.form("password")))
    
    end if
    
    Dim brit_sql
    brit_sql = "SELECT * FROM "&tabella&"Login WHERE "&tabella&"UserName='" &brit_ut&_
           "' AND "&tabella&"password='" &brit_pas& "'"
    Dim brit_rs
    Set brit_rs = obj.Execute(brit_sql)
    'response.write (brit_sql)
    'response.end  
    Dim autenticato
    if brit_rs.eof then
      brit_au = false
    else
      brit_au = true
      brit_p=brit_rs(tabella&"password")
      brit_us=brit_rs(tabella&"UserName")
     brit_livel =brit_rs("Clearance")
      brit_conto=brit_rs("conto")
     brit_id =brit_rs("id")
      
    end if
    brit_rs.Close
    obj.Close
    Set brit_rs = Nothing
    Set obj = Nothing
    
    
    if brit_au = true then
    
    
    if brit_pas=brit_p then
    
    dim intAnni
    intAnni = 1
    dim dtScadenza
    Response.cookies("brit")("brit_au") ="brit_ok"
    
    Response.cookies("brit")("Us") = brit_us
    Response.Cookies("brit")("usID") = brit_id
    Response.Cookies("brit")("nivel") = brit_livel
    Response.Cookies("brit")("conto") = brit_conto
    dtScadenza = dateAdd("yyyy",intAnni, date)
    Response.cookies("brit").expires = dtScadenza
    
    Response.Redirect("default.asp")
    end if
    
      %><%
      Response.Redirect ("default.asp")
    else
      Response.Redirect("errore.asp")
    end if
    
    
    %>
    pagina logout.asp
    codice:
    if request.form("button") = "logout" then
    au=""
    livel=""
    us=""
    idus=""
    conto=""
    
    
    Response.cookies("brit")("brit_au")=au
    Response.cookies("brit")("Us") = us
    Response.Cookies("brit")("usID") = idus
    Response.Cookies("brit")("nivel") = livel
    Response.Cookies("brit")("conto") = conto
    intAnni = -1
    dtScadenza = dateAdd("yyyy",intAnni, date)
    Response.cookies("brit").expires = dtScadenza
    
    
    
    end if
    
    Response.Redirect "default.asp"
    Grazie ancora

  8. #8
    non va
    problema nella funzione
    Function Filtrasql(stringa)

    'stringa = Server.HtmlEncode(stringa)
    stringa = replace(stringa, "'", "''")
    stringa = replace(stringa, "#", "''")
    stringa = replace(stringa, "$", "''")
    stringa = replace(stringa, "%", "''")
    stringa = replace(stringa, "¨", "''")
    stringa = replace(stringa, "&", "''")
    stringa = replace(stringa, "'or'1'='1'", "''")
    stringa = replace(stringa, "--", "''")
    stringa = replace(stringa, "insert", "''")
    stringa = replace(stringa, "drop", "''")
    stringa = replace(stringa, "delet", "''")
    stringa = replace(stringa, "xp_", "''")
    stringa = replace(stringa, "select", "''")
    stringa = replace(stringa, "*", "''")



    End Function

  9. #9
    Originariamente inviato da eliane
    non va
    problema nella funzione
    codice:
    Function Filtrasql(strValue)
      Dim strTemp
      strTemp = Server.HtmlEncode(strValue)
      strTemp = replace(strTemp, "'", "''")
      strTemp = replace(strTemp, "#", "''")
      strTemp = replace(strTemp, "$", "''")
      strTemp = replace(strTemp, "%", "''")
      strTemp = replace(strTemp, "¨", "''")
      strTemp = replace(strTemp, "&", "''")
      strTemp = replace(strTemp, "'or'1'='1'", "''")
      strTemp = replace(strTemp, "--", "''")
      strTemp = replace(strTemp, "insert", "''")
      strTemp = replace(strTemp, "drop", "''")
      strTemp = replace(strTemp, "delet", "''")
      strTemp = replace(strTemp, "xp_", "''")
      strTemp = replace(strTemp, "select", "''")
      strTemp = replace(strTemp, "*", "''")
      Filtrasql = strTemp
    End Function
    byluciani.com - Soluzioni ASP/VBScript freeware

    bylucianiUpload 2.0

  10. #10
    adesso si
    Grazie byluciani

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.