Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    Problemi con cambio password ed apici

    Hola!

    Avrei un problema con i soliti apici ed un cambio password.

    La mia password attuale è questa : 12345'6

    La cambio in 12345'7

    Il codice ASP che richiede il riconoscimento della vecchia password per inserire la nuova, è il seguente:

    codice:
    strUser = uCase(request.form("user"))
    
    strCode1 = request.form("psw_vecchia")
    strCode1_1 = Replace(strCode1, "'", "''")
    
    strCode2 = request.form("psw_nuova")
    
    SELECT * FROM 
        codici 
           WHERE 
              UCASE(userName) = 'enrique' 
        AND 
              userCode = '12345''6'
    Il sistema non mi riconosce come utente registrato perchè raddoppiando l'apice (per evitare che la query vada in errore, non mi trova nella tabella codici, perchè la vecchia password è 12345'6 che con il raddoppio apici diventa 12345''6.

    Come risolve? grazie

  2. #2
    Utente di HTML.it L'avatar di yro
    Registrato dal
    Sep 2003
    Messaggi
    2,916

    Re: Problemi con cambio password ed apici

    Originariamente inviato da Enrique_Rojas
    Hola!

    Avrei un problema con i soliti apici ed un cambio password.

    La mia password attuale è questa : 12345'6

    La cambio in 12345'7

    Il codice ASP che richiede il riconoscimento della vecchia password per inserire la nuova, è il seguente:

    codice:
    strUser = uCase(request.form("user"))
    
    strCode1 = request.form("psw_vecchia")
    strCode1_1 = Replace(strCode1, "'", "''")
    
    strCode2 = request.form("psw_nuova")
    
    SELECT * FROM 
        codici 
           WHERE 
              UCASE(userName) = 'enrique' 
        AND 
              userCode = '12345''6'
    Il sistema non mi riconosce come utente registrato perchè raddoppiando l'apice (per evitare che la query vada in errore, non mi trova nella tabella codici, perchè la vecchia password è 12345'6 che con il raddoppio apici diventa 12345''6.

    Come risolve? grazie


    invece di raddoppiarlo usa un carattere ascii tipo ´ che si fa alt+0180
    E se avessi il dono della profezia e conoscessi tutti i misteri e tutta la scienza, e possedessi la pienezza della fede così da trasportare le montagne, ma non avessi la carità, non sono nulla.

  3. #3

    Re: Re: Problemi con cambio password ed apici

    Originariamente inviato da yro


    invece di raddoppiarlo usa un carattere ascii tipo ´ che si fa alt+0180
    ho già provato ma non va bene perchè nella tabella codice nella colonna password è registrato l'apice... e continua a non riconoscermi

  4. #4
    Prova a postare la porzione di codice di cui sopra così com'è scritta nella tua pagina asp, giusto per capire cosa fai di preciso.

    xxx

  5. #5
    Originariamente inviato da Alethesnake
    Prova a postare la porzione di codice di cui sopra così com'è scritta nella tua pagina asp, giusto per capire cosa fai di preciso.

    ecco:

    codice:
    'nome utente
    strUser = uCase(request.form("user"))
    
    'password vecchia
    strCode1 = request.form("psw_vecchia")
    
    'replace apici in psw vecchia
    strCode1_1 = Replace(strCode1, "'", "''")
    
    'password nuova
    strCode2 = request.form("psw_nuova")
    
    'query controllo esistenza utente
    strSql = "SELECT * FROM codici WHERE UCASE(userName) = '" & strUser & "' AND userCode = '" & strCode1_1 & "' "				
    Set rs = Server.CreateObject("ADODB.Recordset")
    
    rs.Open strSql, cn
    
    'se utente esistente
    if not(rs.eof) then
    
    'inserisco la nuova password
    ...
    
    
       else
    
          response.write "utente non riconosciuto"
    
    end if

  6. #6
    Ma chi vi ha insegnato ad accettare gli apici nelle stringhe SQL?? Ve le cercate proprio le grane!

    Mai sentito parlare di SQL Injection?

    Il mio consiglio è: togli gli apici, sia dagli username che dalle password e cercati un bell'algoritmo per evitare i caratteri speciali nelle input box...

    A buon intenditor...... A buon intenditor!

    Ciao
    ***************************
    Non può piovere per sempre...
    ***************************

  7. #7
    Bè un pò troppo drastica come soluzione... ci sono decine di applicazioni ASP che gestiscono l'apice non capisco cosa c'è di particolare nella mia...

  8. #8
    Non vorrei ripetermi e non voglio spostarti dalle tue convinzioni.

    Converrai che un sistema che ti permette di modificare la password di un utente è qualcosa di delicato su cui non si dovrebbero accettare deroghe alla sicurezza. Se vuoi posso indicarti decine di articoli sui danni che si possono provocare ad un db se non si è accorti nell'accettare "stringhe dagli sconosciuti"...
    ***************************
    Non può piovere per sempre...
    ***************************

  9. #9
    Originariamente inviato da Luca Rotella
    Non vorrei ripetermi e non voglio spostarti dalle tue convinzioni.

    Converrai che un sistema che ti permette di modificare la password di un utente è qualcosa di delicato su cui non si dovrebbero accettare deroghe alla sicurezza. Se vuoi posso indicarti decine di articoli sui danni che si possono provocare ad un db se non si è accorti nell'accettare "stringhe dagli sconosciuti"...
    Non devi convincermi di niente, sono d'accordo con te su tutta la linea; solo che converrai con me, spero, che non posso modificare migliaia di password che contengono l'apice.

    Per il futuro ho già previto una Reg Exp che non accetta gli apici nelle nuove psw, ma ho il problema dell'esistente.

    Ho fatto delle prove e senza il replace degli apici della password vecchia la query non va in errore e cambia la password: avrei scommesso che invece sarebbe andata in errore.


  10. #10
    Originariamente inviato da Enrique_Rojas
    solo che converrai con me, spero, che non posso modificare migliaia di password che contengono l'apice.
    un gioco da ragazzi invece... mica le devi fare una per una

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.