Visualizzazione dei risultati da 1 a 3 su 3

Discussione: controllo stringa

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    15

    controllo stringa

    Buongiorno a tuuti!
    Sto cercando di costruire una funzione in ASP/JavaScript per prevenire la SQL Injection tramite il controllo dei valori di una form di login.

    L'idea è quella di consentire solo i seguenti caratteri:
    " abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWX TZ0123456789" (compreso lo spazio ed escluse le virgolette)


    Ora, nello specifico, mi servirebbe sapere

    1) come contare il numero di caratteri della stringa in arrivo dal campo del form
    2) come confrontare carattere per carattere la stringa in arrivo con i miei caratteri

    Cioè:
    codice:
    function controllo(input){
    valoripredefiniti=( abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXTZ0123456789)
       for i:0,i==lunghezzastringa,i++ {
          if (input(i) != valoripredefiniti) {
             esci dal ciclo;
             alert.....;
          } else {
             continua
             }
       }
    }
    Grazie!

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    415
    Ma tu vuoi fare un controllo javascript nella stessa pagina dove c'è il form? Non è sufficiente per prevenire le SQL Injection, i controlli devono essere anche e soprattutto nella pagina che poi esegue la query.

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    15
    Ho risolto così (la funzione postata sotto è presente in un file .inc caricato dalla pagina .ASP in questione):


    codice:
    //function injectionControl()
    function injectionControl(str){
    	tmpstr = new String(str); 
    	var chars=/[^ a-zA-Z0-9àòèéùì]/g;
    	var newchar = "";
    	var newstr = tmpstr.replace(chars,newchar);
    	return newstr;
    }
    nella pagina .ASP trasformo la stringa ricevuta dal form con questa funzione prima di eseguire l'SQL:
    codice:
    user=injectionControl(Request("username"));
    sql = "SELECT user FROM..."
    Così può essere considerato un controllo efficace?
    (c'è comunque anche il controllo javascript client-side)

    Grazie.
    ciao

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.