Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 31

Discussione: SQL Injection

  1. #1

    SQL Injection

    Per evitare questo sql injection devo per forza evitare che gli utenti inseriscano caratteri tipo ; * ' oppure ci sono altri modi?

  2. #2
    Utente di HTML.it L'avatar di M4rko
    Registrato dal
    Dec 2000
    Messaggi
    619
    L'idea di fondo è che devi controllare TUTTI gli input manipolabili dall'utente:
    http://freephp.html.it/articoli/view...olo.asp?id=123
    Tutti hanno bisogno di credere in qualcosa.
    Io credo che mi farò un'altra birra.


  3. #3
    Ok, ma se in un campo devo potere fare inserire anche dei caratteri potenzialmente dannosi come posso fare?

  4. #4
    Utente di HTML.it L'avatar di M4rko
    Registrato dal
    Dec 2000
    Messaggi
    619
    usi le apposite funzioni di escape, ad esempio mysql_real_escape_string()
    Tutti hanno bisogno di credere in qualcosa.
    Io credo che mi farò un'altra birra.


  5. #5
    ma allora non basta far passare ogni parametro attraverso questa funzione?

  6. #6
    Utente di HTML.it L'avatar di M4rko
    Registrato dal
    Dec 2000
    Messaggi
    619
    dipende da come è costruita la query, dalla presenza di magic_quotes_gpc, dal tipo di dato che vuoi filtrare, ...

    nell'articolo sono presentati alcuni esempi, e non sempre una funzione di escape è sufficiente, anche perche ad esempio i caratteri % e _ non vengono filtrati da mysql_real_escape_string o mysql_escape_string, pur essendo caratteri che assumono un senso quando c'è una clausula LIKE nella query.

    inoltre tieni presente che non controllare gli input può portare ad altri problemi, piu o meno gravi, che esulano dalla sql injection (es: tag html in un campo di testo, indirizzi email non validi, ecc.ecc.)
    Tutti hanno bisogno di credere in qualcosa.
    Io credo che mi farò un'altra birra.


  7. #7

  8. #8
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,361
    Puoi fare una semplice regexp per accettare soltanto lettere e cifre.

  9. #9
    Originariamente inviato da badaze
    Puoi fare una semplice regexp per accettare soltanto lettere e cifre.
    a quale scopo far partire l'engine delle pcre solo per far questo? quando semplicemente lanciando un'escape risolvi in buona parte il problema?

  10. #10
    Originariamente inviato da badaze
    Puoi fare una semplice regexp per accettare soltanto lettere e cifre.
    A proposito, qualcuno sa come farlo in JavaScript?

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