Visualizzazione dei risultati da 1 a 10 su 18

Hybrid View

  1. #1
    Quote Originariamente inviata da nik600 Visualizza il messaggio
    ciao

    - l'incremento del valore di sessione non ha alcuna utilità: era solo un esempio per farti capire come funzionava
    - il sanitize dell'input significa "bonificare" i parametri che ti vengono passati dagli utenti, nel tuo codice iniziale se io mettessi nel campo user 1' or '1'='1 avrei accesso anche senza sapere la password perchè tu vai a concatenare l'input dell'utente alla stringa SQL e questo può comportare la creazione di un sql di questo tipo:

    select * from account where user='pippo' and password='1' or '1'='1'

    che restituirà tutti i record nella tabella.

    La cosa ha potenzialmente delle implicazioni molto più pericolose, come ad esempio:

    select * from account where user='pippo' and password='1' or id_account in (drop table xxx) or '1'='1'


    etc etc etc....

    Nell'esempio di zacca94 ti viene mostrato come usare una funzione che tramite mysql_real_escape_string effettua la "bonifica" di quanto scritto dall'utente, convertendo una stringa come 1'1 in 1\'1.

    In genere io comunque ti consiglio di usare delle librerie di astrazione (come PDO,MDB2 o altre) ed effettuare il bind dei parametri.


    Ciao
    Perfetto , grazie per avermi chiarito le idee.
    Quindi per bonificare i parametri dell' utenti con mysql_real_escape_string viene effettuato in automatico?
    Ipotizzando un utente malintenzionato non potrebbe bypassare il comando?

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,317
    Quote Originariamente inviata da alfredom15 Visualizza il messaggio
    Perfetto , grazie per avermi chiarito le idee.
    Quindi per bonificare i parametri dell' utenti con mysql_real_escape_string viene effettuato in automatico?
    Ipotizzando un utente malintenzionato non potrebbe bypassare il comando?
    Si può se:
    - riesce a trovare una falla nelle librerie delle funzioni di php.
    - non utilizzi mysql_real_escape_string per le stringhe e intval per i numeri.
    - utilizzi una codifica di caratteri come la gbk (ecco perchè nel file config.php c'è il SET NAMES 'utf8').

    La prima non si ovvia, ma niente paura, se è il primo caso allora è hackerabile quasi l'intero mondo.
    Per le seconde devi stare attento.

    //
    sostituisci => con =

    dovresti farci caso anche tu...

  3. #3
    Quote Originariamente inviata da zacca94 Visualizza il messaggio
    Si può se:
    - riesce a trovare una falla nelle librerie delle funzioni di php.
    - non utilizzi mysql_real_escape_string per le stringhe e intval per i numeri.
    - utilizzi una codifica di caratteri come la gbk (ecco perchè nel file config.php c'è il SET NAMES 'utf8').

    La prima non si ovvia, ma niente paura, se è il primo caso allora è hackerabile quasi l'intero mondo.
    Per le seconde devi stare attento.

    //
    sostituisci => con =

    dovresti farci caso anche tu...

    Grazie per l' aiuto , anche se da qualche errore me la vedrò da solo.
    Volevo chiedervi un ultima cosa: Anche per la registrazione ci vuole una compilazione sicura di questo tipo?
    Ed ogni volta che viene eseguita un operazione riguardante il database , basta inserire la classica stringa di query, oppure bisogna ogni volta prendere le adeguate precauzioni?

    Grazie ancora .

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,317
    Quote Originariamente inviata da alfredom15 Visualizza il messaggio
    Grazie per l' aiuto , anche se da qualche errore me la vedrò da solo.
    Volevo chiedervi un ultima cosa: Anche per la registrazione ci vuole una compilazione sicura di questo tipo?
    Ed ogni volta che viene eseguita un operazione riguardante il database , basta inserire la classica stringa di query, oppure bisogna ogni volta prendere le adeguate precauzioni?

    Grazie ancora .
    sempre

  5. #5
    Quote Originariamente inviata da zacca94 Visualizza il messaggio
    sempre
    Siccome maggior parte delle guide per PHP spiegano in maniera basilare (query , cicli ecc ecc) , qual' è il primo passo per apprendere ed approfondire ciò che probabilmente e' la cosa più utile e complessa (la sicurezza delle pagine web per quanto riguarda il php) ?

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.