Salve.
Ho scritto questa funzione per il mio guestbook, in modo da usare le emoticons e il bbcode ma non permettere di usare i tag di php e di script.
Ve la posto:Lo spunto l'ho trovato in un sito tempo fa.Codice PHP:
<?php
function noxss($str) {
$patterns[0] = "/<script>/";
$patterns[1] = "/<\/script>/";
$patterns[2] = "/onerror/";
$patterns[3] = "/<?/";
$patterns[4] = "/<?php/";
$patterns[5] = "/?>/";
$replacements[0] = "<script>";
$replacements[1] = "</script>";
$replacements[2] = "onerroor";
$replacements[3] = "<?";
$replacements[4] = "<?php";
$replacements[5] = "?>";
return preg_replace($patterns, $replacements, $str);
}
?>
Il problema è che mi restituisce un sacco di parentesi (< e >) per ogni scritta passata per argomento.
Pagina di prova: http://gabryhacker.altervista.org/esempi/guestbook/
Dove sbaglio?