Salve e sera a tutti
Dovrei modificare questa query:
Codice PHP:
$slide_query = "SELECT * FROM pictures ORDER BY position ASC";
$slide_result = mysqli_query($slide_query);
while($slide_sql = mysqli_fetch_array($slide_result))
Leggendo mi pare di aver capito che con l'utilizzo delle DPO ci sono vari passaggi da eseguire :
In primis creare una funzione whitelist inclusa nel mio file config.php
Codice PHP:
function white_list(&$value, $allowed, $message) {
if ($value === null) {
return $allowed[0];
}
$key = array_search($value, $allowed, true);
if ($key === false) {
throw new InvalidArgumentException($message);
} else {
return $value;
}
}
e quindi dichiare le variabili
Codice PHP:
$orderby = white_list($_GET['orderby'], ["position"], "Invalid field name");
$direction = white_list($_GET['direction'], ["ASC","DESC"], "Invalid ORDER BY direction");
e modificare le msqli credo in questo modo:
Codice PHP:
$slide_query = "SELECT * FROM `pictures` ORDER BY position`$orderby` $direction"; // sound and safe!
$slide_result = new PDO($dsn,$user,$pass,array($slide_query));
while($slide_sql = $slide_query->fetch_all(PDO::FETCH_ASSOC));
Sono sulla strada giusta opure ho commesso qualche gravissimo errore ?