Sécuriser les chaines en PHP

Vue sur http://css-tricks.com/, ces functions vont virer tout code malicieux d'une chaine de caractère avant de la traiter. On peut s'en servir pour sécuriser les $_GET et $_POST.
Je n'ai pas encore testé, mais ça a l'air de ne rien laisser au hasard.

 

 

 

function cleanInput($input) {

$search = array( '@<script[^>]?>.?</script>@si', // Strip out javascript '@<[\/!]?[^<>]?>@si', // Strip out HTML tags '@<style[^>]?>.?</style>@siU', // Strip style tags properly '@<![\s\S]?--[ \t\n\r]>@' // Strip multi-line comments );

$output = preg_replace($search, '', $input);
return $output;

}

function sanitize($input) { if (is_array($input)) { foreach($input as $var=>$val) { $output[$var] = sanitize($val); } } else { if (get_magic_quotes_gpc()) { $input = stripslashes($input); } $input = cleanInput($input); $output = mysql_real_escape_string($input); } return $output; }

// Usage: $bad_string = "Hi! <script src='http://www.warriordudimanche.net/http://www.evilsite.com/bad_script.js'&gt; </script> It's a good day!"; $good_string = sanitize($bad_string); // $good_string returns "Hi! It\'s a good day!"

// Also use for getting POST/GET variables $_POST = sanitize($_POST); $_GET = sanitize($_GET);

✍ Écrire un commentaire

Inutile de poster un commentaire à la con pour vous faire de la pub, ce sera filtré et dégagé direct...

Quelle est la première lettre du mot piggti ?