Pour une utilisation dans Piwigo, mais cela pourrait également convenir à d’autres logiciels, je vous propose de découvrir une petite fonction PHP toute simple.
function getParam($name, $def = false) {
if (defined('IN_ADMIN') and IN_ADMIN) return $def;
foreach ( $_REQUEST as $k => $v ) {
if ( is_string($k) and stripos( $k, $name ) > 0 )
return trim(preg_replace("/[^0-9a-z\-_\.]+/i", " ", $k)); // Remove anything but 0-9,a-z,-_
// permalink, category_url_style in 'id-name', picture_url_style in id-file
}
return $def;
}
}
Avant de l’utiliser, je me propose une explication minimaliste.
Cette fonction PHP fait appel à un preg_replace et une expression rationnelle.
L’objectif est de conserver uniquement les caractères comme le point, la virgule, les 2 tirets (- et _), les lettres (minuscules ou majuscules, mais pas les lettres accentuées) et les chiffres.
Par exemple, supposons que nous ayons ceci :
echo getParam('avant');
alors nous devrions avoir en retour :
Quel 1er_paramtre Un argument
L’intérêt sera de sécuriser votre site lors de l’appel à cette fonction.
Découvrir la mise en œuvre de cette fonction.
