Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 13 su 13

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,317
    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;
        }

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,509
    Ed sqlEscape() che fa?
    Ti rendi conto che stai ricreando ciò che già PHP ti mette a disposizione con funzioni più che collaudate?
    Le prepared statement di PDO fanno ciò che fai tu, ma con codice più performante e sicuro.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,317
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Ed sqlEscape() che fa?
    Ti rendi conto che stai ricreando ciò che già PHP ti mette a disposizione con funzioni più che collaudate?
    Le prepared statement di PDO fanno ciò che fai tu, ma con codice più performante e sicuro.
    si ho letto ora la documentazione

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.