Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 19 su 19

Discussione: Funzione Replace

Hybrid View

  1. #1
    Quote Originariamente inviata da Vincent.Zeno Visualizza il messaggio
    opti, secondo te la funzione è a posto? o c'è qualcosa da migliorare?
    (a parte necessità specifiche sui replace)
    dipende dal contesto. soprattutto da come usa user e password. sì è facilmente sotto attacco se la validazione la si fa in questo modo

    sql="SELECT * FROM utenti WHERE user='" & user & "' AND password='" & password & "'"

    se si spezza la verifica in due passaggi, il pericolo diminuisce

    del resto, basta cercare "sql injection" su google per trovare un florilegio di informazioni


  2. #2
    Quote Originariamente inviata da optime Visualizza il messaggio
    basta cercare "sql injection" su google per trovare un florilegio di informazioni

    io ho cercato su google, ma tutto ste informazioni non le ho mica trovate. Più che altro in inglese, ma sono vecchie, anche di 4-5 anni. Di recente non ho trovato nulla. Ho trovato solo quest'altra funzione che potrebbe essere interessante, ma che sembra non funzionare o, sono io che non l'ho richiamata correttamente:

    codice:
      'IllegalChars funzione di guardia contro SQL injection
     Function IllegalChars(sInput)
     'Dichiara le variabili
      Dim iCounter, SBadChars
     'Set IllegalChars a False
     IllegalChars = False
     'Crea un array di caratteri illegali e parole
     sBadChars = array ("select", "drop", ",", "-", "isert", "delete", "xp_", "_", "#", "%", "&", "'", "(", ")", "/", "\", ":", ",", "<", ">", "= "," [","] "," "," `", "|?",  "__ ")
     'Loop attraverso sBadChars array utilizzando il nostro contatore e funzione UBound
    For iCounter = 0 to UBound (sBadChars)
     'Usare funzione InStr per verificare la presenza di carattere illegale nella nostra variabile
     If Instr (sInput, sBadChars (iCounter))> 0 Then
     IllegalChars = True
     End If
     Next
     End Function
    che poi richiamo ad inizio pagina in questo modo:

    codice:
       blnIsIllegalCode = IllegalChars (Request.QueryString)
    
     If (blnIsIllegalCode) Then
        Response.Write ("Bad Request")
        Response.End ()
     End If

    Anzi, cosa ne pensate? E' valida e soprattutto, l'ho richiamata nel modo giusto e al punto giusto?
    Tornando poi alla tua considerazione precedente, io la validazione la faccio così:

    codice:
      DL_rsUser.Source = DL_rsUser.Source & " FROM geryko.utenti WHERE uname='" & ProteggiSQLI(DL_valUtente) &"' AND parolachiave='" & ProteggiSQLI(Request.Form("pwd")) & "'"
    Anche perchè la user la leggo prima:

    codice:
    DL_valUtente=ProteggiSQLI(CStr(Request.Form("utente")))
    In questo caso com'e? SI è meno esposti?
    Ultima modifica di bigdaniel; 30-10-2013 a 13:44
    BigDaniel

  3. #3
    Mi pare una polemica inutile, superflua, del tutto fuori luogo.
    Lo so che non si è obbligati a rispondere, ci mancherebbe, per cui è inutile continuare a rimarcarlo.
    Se ho scritto "Sconcertante" è perchè tutte le altre volte che ho chiesto aiuto su queste pagine ho potuto constatare, sempre, una disponibilità, cortesia, e soprattutto una celerità nelle risposte di assoluto rilievo.

    Tutto qui. Se poi vogliamo continuare a discutere sul fatto che rispondere è un atto di cortesia e non certamente un obbligo, sempre compatibilmente con le conoscenze e il tempo di ciascuno, continuiamo, ma lo trovo un po', come dire?, stucchevole.

    Del resto un forum come questo, a questo serve, ad ottenere risposte e a darne, altrimenti che senso avrebbe.

    @Optime: io non mi lamento, non mi sono lamentato e non lo faccio mai nemmeno per cose molto più serie rispetto ad una risposta che non arriva, quando tra l'altro ne ho stremo bisogno perchè ho 5 siti sotto attacco!!

    Ovviamente, grazie per la risposta.

    Buona giornata a tutti
    Ultima modifica di bigdaniel; 30-10-2013 a 09:19
    BigDaniel

  4. #4
    Quote Originariamente inviata da bigdaniel Visualizza il messaggio
    Mi pare una polemica inutile, superflua, del tutto fuori luogo.
    Lo so che non si è obbligati a rispondere, ci mancherebbe, per cui è inutile continuare a rimarcarlo.
    Se ho scritto "Sconcertante" è perchè tutte le altre volte che ho chiesto aiuto su queste pagine ho potuto constatare, sempre, una disponibilità, cortesia, e soprattutto una celerità nelle risposte di assoluto rilievo.

    Tutto qui. Se poi vogliamo continuare a discutere sul fatto che rispondere è un atto di cortesia e non certamente un obbligo, sempre compatibilmente con le conoscenze e il tempo di ciascuno, continuiamo, ma lo trovo un po', come dire?, stucchevole.

    Del resto un forum come questo, a questo serve, ad ottenere risposte e a darne, altrimenti che senso avrebbe.

    @Optime: io non mi lamento, non mi sono lamentato e non lo faccio mai nemmeno per cose molto più serie rispetto ad una risposta che non arriva, quando tra l'altro ne ho stremo bisogno perchè ho 5 siti sotto attacco!!

    Ovviamente, grazie per la risposta.

    Buona giornata a tutti
    quoto a futura memoria.

    sarà anche una discussione stucchevole, ma tu continui a esprimere rimostranze come se questo fosse un servizio a pagamento e tu avessi il diritto di essere servito... ("ne ho estremo bisogno perché ho 5 siti sotto attacco!!!").

    per me è chiusa qui, non ho voglia di farmi fare uno shampoo da un moderatore

  5. #5
    Quote Originariamente inviata da optime Visualizza il messaggio
    quoto a futura memoria.

    sarà anche una discussione stucchevole, ma tu continui a esprimere rimostranze come se questo fosse un servizio a pagamento e tu avessi il diritto di essere servito... ("ne ho estremo bisogno perché ho 5 siti sotto attacco!!!").

    per me è chiusa qui, non ho voglia di farmi fare uno shampoo da un moderatore
    Proprio per niente. Non me lo sogno nemmeno. Non farmi dire cose che non solo non ho detto, ma che nemmeno penso.
    Scusa, non partire prevenuto nei miei confronti, non dare un senso diverso alle cose che ho scritto.

    Ho semplicemente detto che "non mi lamento, non mi lamento mai nemmeno per quelle cose veramente gravi che non c'entrano niente con un po' di codice asp". Ho poi aggiunro che fremevo per la risposta perchè mi occorreva. Ma tra questo a dire che la pretendevo, ce ne corre, ed anche parecchio.

    In tutti i casi sta durando pure troppo, perchè in fondo si tratta di una stupidata, più che altro tutto un equivoco.
    BigDaniel

  6. #6
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,812
    Quote Originariamente inviata da bigdaniel Visualizza il messaggio
    più che altro tutto un equivoco.
    tanto meglio

    torniamo in tema ora?

  7. #7
    Ho provato questa ultima funzione, ma mi da l'errore "Tipo non corrispondente: 'IllegalChars'" alla riga dove è presente:

    codice:
    blnIsIllegalCode = IllegalChars (Request.QueryString)
    stessa cosa se:

    codice:
    blnIsIllegalCode = IllegalChars (Request.Form)
    Qualche suggerimento, please?
    BigDaniel

  8. #8
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,812
    Quote Originariamente inviata da bigdaniel Visualizza il messaggio
    codice:
      'IllegalChars funzione di guardia contro SQL injection
     Function IllegalChars(sInput)
     'Dichiara le variabili
      Dim iCounter, SBadChars
     'Set IllegalChars a False
     IllegalChars = False
     'Crea un array di caratteri illegali e parole
     sBadChars = array ("select", "drop", ",", "-", "isert", "delete", "xp_", "_", "#", "%", "&", "'", "(", ")", "/", "\", ":", ",", "<", ">", "= "," [","] "," "," `", "|?",  "__ ")
     'Loop attraverso sBadChars array utilizzando il nostro contatore e funzione UBound
    For iCounter = 0 to UBound (sBadChars)
     'Usare funzione InStr per verificare la presenza di carattere illegale nella nostra variabile
     If Instr (sInput, sBadChars (iCounter))> 0 Then
     IllegalChars = True
     End If
     Next
     End Function
    che poi richiamo ad inizio pagina in questo modo:

    codice:
       blnIsIllegalCode = IllegalChars (Request.QueryString)
    
     If (blnIsIllegalCode) Then
        Response.Write ("Bad Request")
        Response.End ()
     End If
    Quote Originariamente inviata da bigdaniel Visualizza il messaggio
    Ho provato questa ultima funzione, ma mi da l'errore "Tipo non corrispondente: 'IllegalChars'" alla riga dove è presente:
    codice:
    blnIsIllegalCode = IllegalChars (Request.QueryString)
    stessa cosa se:
    codice:
    blnIsIllegalCode = IllegalChars (Request.Form)
    Qualche suggerimento, please?

    l'ho appena provata e non mi da errori, però specificando la variabile da controllare:
    blnIsIllegalCode = IllegalChars (Request.Form("campodacontrollare"))
    altrimenti restituisce sempre true

  9. #9
    Grazie, così è perfetto
    BigDaniel

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 © 2026 vBulletin Solutions, Inc. All rights reserved.