Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di henry78
    Registrato dal
    May 2001
    Messaggi
    1,264

    Una sola funzione contro le sql injection

    Ciao a tutti

    esiste la funzione "definitiva" per trattare le stringhe prima di essere memorizzare su mysql?


    Vorrei essere certo al 100% di non subire sql injection.. e sarebbe stracomodo poter avere una funzione del tipo:

    $nome = sistema_stringa($_POST['nome']);

    Ci proviamo?

  2. #2
    PHP LEARN - Guide, tutorial e articoli sempre aggiornati
    NUOVO: standardLib; il potente framework PHP é ora disponibile
    *******************************************
    Scarica oggi la tua copia di MtxEventManager

  3. #3
    Utente di HTML.it L'avatar di henry78
    Registrato dal
    May 2001
    Messaggi
    1,264
    Originariamente inviato da mtx_maurizio
    http://www.mtxweb.ch/php_learn/?p=864

    Quindi di che questa funzione assicura al 100%?

    <?php
    function EscapeString($string)
    {
    if(get_magic_quotes_gpc())
    {
    return $string;
    }
    else
    {
    return mysql_real_escape_string($string);
    }
    }

    ?>

    tutti d'accordo?

  4. #4
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    io di solito faccio una cosa simile ma piu' che standardizza tutto con la mysql_real_escape...

    Codice PHP:


    if( get_magic_quotes_gpc() )
        
    $str stripslashes($str) ;
    $str mysql_real_escape_string$str ); 

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    542
    Ciao ragazzi, spero che qualcuno veda il post e possa rispondermi.

    Ho provato ad usare la funzione indicata in questo post sul mio array di dati ma ho un errore di memoria:
    Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 35 bytes)

    siccome le chiavi del mio array $dati sono del tipo
    [nome] => pippo [cognome] => pluto

    per poter fare il loop utilizzo l'array delle chiavi date da $key = (array_keys($dati));
    [0] => nome [1] => cognome ecc. per intenderci


    PHP]
    $key = (array_keys($dati));
    for($i=0; $i<count($key); $i++)
    $dati[$i] = EscapeString($dati[$key[$i]]);
    [/PHP]


    persò se faccio:
    echo EscapeString($dati[$key[1]]);
    echo EscapeString($dati[$key[2]]);
    ...
    ...
    echo EscapeString($dati[$key[20]]);

    funziona.

    Qualcuno vede l'errore?
    grazie
    Guidino

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.