Quote Originariamente inviata da Alhazred Visualizza il messaggio
Piano piano lì volevo arrivare, alla scoperta dell'acqua calda...
se è riferito a me devi comunque fare il santize di ogni singola variabile che utilizzi, se uno si ricorda di purificare ogni variabile che utilizza all'interno dell'applicazione è un discorso inutile a prescindere...

comunque:
codice:
<?php
    /**
     * Sostituisce %d e %s in '%d' e '%s', e purifica tutti i parametri
     *
     * param    string    $sql    Query non formattata
     * param    string    $params        Parametri da purificare
     * return    string    $sql    Query formattata
     */
    function sqlFormats($sql, $params = array()) {
        // Sostituisce %d & %s in '%s' & '%d'
        $sql  = preg_replace('#%(s|d)#', "'%\\1'", $sql);    
        
        // Purifica tutti i parametri
        if (is_array($params) && count($params)) {
            $args = array();
            foreach (array_keys($params) as $key) {
                $args[] = sqlEscape($params[$key]);
            }
            
            $sql = vsprintf($sql, $args);
        }
        elseif (is_string($params) || is_numeric($params)) {
            $sql = sprintf($sql, sqlEscape($params));
        }
        
        return $sql;
    }