
Originariamente inviata da
Alhazred
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;
}